perm filename DIAL78.XGP[DIA,JMC]2 blob sn#416199 filedate 1979-02-02 generic text, type T, neo UTF8
/LMAR=0/XLINE=3/FONT#0=BASL30/FONT#1=BASI30/FONT#2=BASB30/FONT#3=GACB25/FONT#4=SUP/FONT#5=NGR20/FONT#6=METLB/FONT#7=MS25/FONT#8=SAIL25/FONT#9=SIGN57/FONT#10=FIX25










␈↓ ↓N␈↓	␈↓ ¬,DIALNET

␈↓ ↓N␈↓	␈↓ ∧.␈↓εA Computer Communication Study




␈↓ ↓N␈↓ε␈↓ ¬K␈↓αproposal submitted to


␈↓ ↓N␈↓ε␈↓ ∧eNational Science Foundation
␈↓ ↓N␈↓α␈↓ ¬>Washington, D.C. 20550



␈↓ ↓N␈↓α␈↓ εMby


␈↓ ↓N␈↓α␈↓ ¬∂Computer Science Department
␈↓ ↓N␈↓α␈↓ ¬,␈↓εStanford University
␈↓ ↓N␈↓ε␈↓ ¬+␈↓αStanford, California 94305




␈↓ ↓N␈↓α␈↓ ¬l␈↓εAugust 1978



␈↓ ↓N␈↓α␈↓ β&Research Proposal Submitted to the National Science Foundation


␈↓ ↓N␈↓Proposed Amount ␈↓&␈↓λ$136,055␈↓␈↓)αβ Proposed E≥ective Date ␈↓&␈↓λ1 Jan. 1979␈↓␈↓)αβ Proposed Duration ␈↓&␈↓λ2 years␈↓␈↓)αβ

␈↓ ↓N␈↓Title ␈↓&␈↓λDialnet: a Computer Communication Study␈↓␈↓)αβ

␈↓ ↓N␈↓Principal Investigator:␈↓ ¬nSubmitting Institution:
␈↓ ↓N␈↓  ␈↓&␈↓λProfessor John McCarthy␈↓␈↓)αβ␈↓ ¬n  ␈↓&␈↓λStanford University␈↓␈↓)αβ
␈↓ ↓N␈↓  Soc. Sec. No. ␈↓&␈↓λ558-30-4793␈↓␈↓)αβ␈↓ ¬n  Department ␈↓&␈↓λComputer Science Department␈↓␈↓)αβ
␈↓ ↓N␈↓␈↓ ¬n  Branch ␈↓&␈↓λSchool of Humanities and Sciences␈↓␈↓)αβ




␈↓ ↓N␈↓Make grant to ␈↓&␈↓λ         Leland Stanford Junior University          ␈↓␈↓)αβ





␈↓ ↓N␈↓Endorsements:

␈↓ ↓N␈↓␈↓ α↑Principal Investigator␈↓ ¬nDepartment Head␈↓ λ}Institutional Admin. O≠cial

␈↓ ↓N␈↓Name␈↓ α↑␈↓&␈↓λJohn McCarthy       ␈↓␈↓)αβ␈↓ ¬n␈↓&␈↓λEdward A. Feigenbaum ␈↓␈↓)αβ␈↓ λ}␈↓&␈↓λ                     ␈↓␈↓)αβ


␈↓ ↓N␈↓Signature␈↓ α↑␈↓&␈↓λ                     ␈↓␈↓)αβ␈↓ ¬n␈↓&␈↓λ                     ␈↓␈↓)αβ␈↓ λ}␈↓&␈↓λ                     ␈↓␈↓)αβ

␈↓ ↓N␈↓Title␈↓ α↑␈↓&␈↓λ Professor           ␈↓␈↓)αβ␈↓ ¬n␈↓&␈↓λProfessor & Chairman ␈↓␈↓)αβ␈↓ λ}␈↓&␈↓λ                     ␈↓␈↓)αβ

␈↓ ↓N␈↓Telephone␈↓ α↑␈↓&␈↓λ(415) 497-4430       ␈↓␈↓)αβ␈↓ ¬n␈↓&␈↓λ(415) 497-4878       ␈↓␈↓)αβ␈↓ λ}␈↓&␈↓λ                     ␈↓␈↓)αβ

␈↓ ↓N␈↓Date␈↓ α↑␈↓&␈↓λ                     ␈↓␈↓)αβ␈↓ ¬n␈↓&␈↓λ                     ␈↓␈↓)αβ␈↓ λ}␈↓&␈↓λ                     ␈↓␈↓)αβ
␈↓ ↓N␈↓α␈↓ ¬8TABLE OF CONTENTS␈↓ n


␈↓ ↓N␈↓α␈↓ α∞Section␈↓ ¬mPage

␈↓ ↓N␈↓1.  Current Proposal␈↓ ε  1

␈↓ ↓N␈↓␈↓ β1␈↓αAppendices␈↓

␈↓ ↓N␈↓A.  Original Dialnet Proposal␈↓ ε  2

␈↓ ↓N␈↓B.  Basic line protocol␈↓ ε  6

␈↓ ↓N␈↓C.  File transfer protocol␈↓ ¬|  12

␈↓ ↓N␈↓D.  Mail protocol␈↓ ¬|  20

␈↓ ↓N␈↓E.  Personnel␈↓ ¬|  24

␈↓ ↓N␈↓F.  Facilities␈↓ ¬|  26

␈↓ ↓N␈↓G.  Current Support␈↓ ¬|  27

␈↓ ↓N␈↓H.  Budget␈↓ ¬|  29
␈↓ ↓N␈↓α␈↓ ε↑␈↓ b1


␈↓ ↓N␈↓α␈↓ αw1.  Current Proposal                        ␈↓ π∞␈↓several␈α⊂times␈α∂in␈α⊂the␈α∂light␈α⊂of␈α⊂that␈α∂experience.
                                            ␈↓ π∞␈↓Work␈α∃has␈α∃started␈α∃on␈α∃the␈α∃line␈α∀transmission
␈↓ ↓N␈↓The␈α
aim␈αof␈α
the␈αproject␈α
is␈αthe␈α
same␈αas␈α
that␈αof         ␈↓ π∞␈↓protocol␈α∨at␈α∨LOTS.␈α∨ We␈α∨hope␈α∨to␈α≡have
␈↓ ↓N␈↓our␈α∃previous␈α∃proposal␈α∃a␈α∃copy␈α∃of␈α∃which␈α∀is           ␈↓ π∞␈↓experimental␈α$mail␈α#and␈α$virtual␈α#terminal
␈↓ ↓N␈↓included␈α∂as␈α∂appendix␈α∞A.␈α∂ We␈α∂have␈α∞generally        ␈↓ π∞␈↓protocols␈α∂running␈α∂and␈α∂available␈α∂for␈α⊂users␈α∂by
␈↓ ↓N␈↓followed␈α∞the␈α∂approach␈α∞laid␈α∞out␈α∂there,␈α∞though      ␈↓ π∞␈↓the end of the summer.
␈↓ ↓N␈↓speci≡c␈α↔plans␈α↔have␈α⊗been␈α↔altered␈α↔based␈α⊗on
␈↓ ↓N␈↓experience.                                 ␈↓ π∞␈↓The␈α∀biggest␈α∀problem␈α∀encountered␈α∀so␈α∀far␈α∀is
                                            ␈↓ π∞␈↓that␈α∃some␈α⊗operating␈α∃systems␈α∃are␈α⊗unable␈α∃to
␈↓ ↓N␈↓Up␈α∃to␈α∃July␈α∃1978,␈α∀one␈α∃year␈α∃into␈α∃the␈α∀grant            ␈↓ π∞␈↓sustain␈α≥the␈α≥1200␈α≥baud␈α≥transmission␈α≤rate
␈↓ ↓N␈↓period, the following had been accomplished:␈↓ π∞␈↓without␈α∪bu≥er␈α∪ over∨ow.␈α∪ Other␈α∀systems␈α∪do
                                            ␈↓ π∞␈↓not␈α
have␈αthis␈α
problem,␈α
but␈αare␈α
too␈α"helpful"␈α
in
␈↓ ↓N␈↓1.␈α_We␈α_have␈α↔conferred␈α_with␈α_the␈α↔following           ␈↓ π∞␈↓that␈α∀they␈α∪insert␈α∀spurious␈α∪bytes␈α∀in␈α∀the␈α∪data
␈↓ ↓N␈↓individuals␈α∩and␈α∩groups␈α∩on␈α∩our␈α∪plans␈α∩about         ␈↓ π∞␈↓stream␈α≤to␈α≤warn␈α≤about␈α≤a␈α≥possible␈α≤bu≥er
␈↓ ↓N␈↓the form the protocols should take:         ␈↓ π∞␈↓over∨ow␈α∂and␈α∂in␈α∂the␈α∂process␈α∂confuse␈α∂any␈α∂line
␈↓ ↓N␈↓␈↓ ↓nVint Cerf, Defense Advanced Research        ␈↓ π∞␈↓protocol␈α⊗negotiations␈α⊗going␈α⊗on.␈α⊗ Of␈α∃course,
␈↓ ↓N␈↓␈↓ β∞Projects Agency                             ␈↓ π∞␈↓Dialnet␈α
recovers␈α
from␈α
this␈α∞condition␈α
properly,
␈↓ ↓N␈↓␈↓ ↓nSandy Fraser, et al, Bell Telephone         ␈↓ π∞␈↓but␈α∪not␈α∀without␈α∪data␈α∪bandwidth␈α∀being␈α∪lost
␈↓ ↓N␈↓␈↓ β∞Laboratories                                ␈↓ π∞␈↓unnecessarily.
␈↓ ↓N␈↓␈↓ ↓nChris Ryland, Columbia University
␈↓ ↓N␈↓␈↓ ↓nStu Wecker, et al, Digital Equipment        ␈↓ π∞␈↓There␈α∃are␈α∃at␈α∃least␈α∃two␈α∃ways␈α∃around␈α∀these
␈↓ ↓N␈↓␈↓ β∞Corporation                                 ␈↓ π∞␈↓problems:␈α∂to␈α∂modify␈α∂the␈α∂operating␈α∂systems␈α∞or
␈↓ ↓N␈↓␈↓ ↓nMichael Blasgen, IBM                        ␈↓ π∞␈↓to␈α⊂develop␈α⊃a␈α⊂microprocessor␈α⊂front␈α⊃end.␈α⊂ The
␈↓ ↓N␈↓␈↓ ↓nDavid Moon, Ken Pogran, MIT                 ␈↓ π∞␈↓latter␈α
is␈α
somewhat␈αmore␈α
general␈α
and␈αalso␈α
o≥ers
␈↓ ↓N␈↓␈↓ ↓nGlenn Richart, National Institutes of Health␈↓ π∞␈↓the␈αpossibility␈αof␈α
putting␈αmost␈αof␈αthe␈α
overhead
␈↓ ↓N␈↓␈↓ ↓nGeo≥ Goodfellow, SRI International          ␈↓ π∞␈↓of␈αthe␈αline␈αprotocol␈αin␈αthe␈αfront␈αend.␈α
 Most␈αof
                                            ␈↓ π∞␈↓our␈α→early␈α→work␈α→has␈α→been␈α→on␈α→the␈α→former
␈↓ ↓N␈↓We␈α→believe␈α→we␈α→can␈α→satisfy␈α→all␈α_reasonable          ␈↓ π∞␈↓approach,␈α∂but␈α∂in␈α∂the␈α∞next␈α∂period␈α∂we␈α∂plan␈α∞to
␈↓ ↓N␈↓requirements if not all reasonable tastes.  ␈↓ π∞␈↓pursue␈α∞the␈α∞latter.␈α∞ Toward␈α∞this␈α∞end,␈α∂we␈α∞have
                                            ␈↓ π∞␈↓included␈α≡in␈α≡the␈α≥budget␈α≡funds␈α≡for␈α≥four
␈↓ ↓N␈↓2.␈α
The␈α
following␈αprotocols␈α
exist␈α
in␈α
draft␈αform     ␈↓ π∞␈↓microprocessor controlled modems.
␈↓ ↓N␈↓and␈α∞are␈α∂included␈α∞as␈α∞appendices␈α∂B␈α∞thru␈α∂D␈α∞of
␈↓ ↓N␈↓this proposal:                              ␈↓ π∞␈↓In␈α∀the␈α∀period␈α∀of␈α∀this␈α∀proposal␈α∀we␈α∀plan␈α∪to
␈↓ ↓N␈↓  B.  Basic line protocol                   ␈↓ π∞␈↓re≡ne␈α∃and␈α∃extend␈α∃the␈α∃basic␈α∀communication
␈↓ ↓N␈↓  C.  File transfer protocol                ␈↓ π∞␈↓protocols␈α
and␈α
invite␈α
a␈αnumber␈α
of␈α
new␈α
sites␈αto
␈↓ ↓N␈↓  D.  Mail protocol (preliminary)           ␈↓ π∞␈↓join␈α1in␈α1experimental␈α1implementations.
␈↓ ↓N␈↓A␈α*virtual␈α*terminal␈α*protocol␈α+will␈α*be              ␈↓ π∞␈↓Assuming␈α/general␈α.acceptance␈α/of␈α.the
␈↓ ↓N␈↓forthcoming shortly.                        ␈↓ π∞␈↓experimental␈α∪network,␈α∪we␈α∪shall␈α∪endeavor␈α∪to
                                            ␈↓ π∞␈↓get␈α≤the␈α≤protocols␈α≤adopted␈α≤as␈α≤a␈α≤national
␈↓ ↓N␈↓3.␈α∂Modems␈α∞have␈α∂been␈α∞acquired␈α∂and␈α∞installed        ␈↓ π∞␈↓standard.
␈↓ ↓N␈↓at␈α+the␈α+Stanford␈α,Arti≡cial␈α+Intelligence
␈↓ ↓N␈↓Laboratory␈α#and␈α"at␈α#the␈α#Stanford␈α"Low-
␈↓ ↓N␈↓Overhead␈α↔Time-sharing␈α↔System.␈α↔ We␈α⊗have
␈↓ ↓N␈↓chosen␈α∞the␈α
Bell␈α∞System␈α
1200-1200␈α∞full␈α
duplex
␈↓ ↓N␈↓protocol␈α
for␈α
the␈α
modems␈α
and␈α∞have␈α
purchased
␈↓ ↓N␈↓Vadic modems meeting this standard.

␈↓ ↓N␈↓4.␈α∞The␈α∞basic␈α∞line␈α∞transmission␈α∂protocols␈α∞have
␈↓ ↓N␈↓been␈α≥programmed␈α≡at␈α≥SAIL␈α≡and␈α≥revised
␈↓ ↓N␈↓α␈↓ ε↑␈↓ `2


␈↓ ↓N␈↓α␈↓ β+Appendix A                                  ␈↓ π∞␈↓telephone␈α∀companies.␈α∀ Other␈α∃networks␈α∀have
␈↓ ↓N␈↓α␈↓ αOOriginal Dialnet Proposal                   ␈↓ π∞␈↓been␈α⊃started,␈α∩but␈α⊃they␈α∩all␈α⊃have␈α∩problems␈α⊃of
                                            ␈↓ π∞␈↓expense␈αand␈α
␈↓↓also␈αof␈αdeciding␈α
who␈αshould␈α
be␈αon
                                            ␈↓ π∞␈↓↓them␈↓.␈α
 Some␈α
facilities␈α
have␈α
gone␈α
to␈α
the␈α
expense
␈↓ ↓N␈↓α␈↓ β51.  Purpose                                 ␈↓ π∞␈↓of joining more than one network.

␈↓ ↓N␈↓This␈α⊂is␈α⊂a␈α⊂request␈α⊂for␈α⊂a␈α⊂grant␈α⊂to␈α⊃support␈α⊂an          ␈↓ π∞␈↓        We␈αpropose␈αto␈αdesign␈αprotocols␈αthat␈αcan
␈↓ ↓N␈↓eighteen␈α"month␈α!study␈α"and␈α!experimental           ␈↓ π∞␈↓be␈α∂implemented␈α∂at␈α∂any␈α∂time-shared␈α∂computer
␈↓ ↓N␈↓implementation␈αof␈αprotocols␈αthat␈αwould␈αpermit    ␈↓ π∞␈↓installation␈α$without␈α$joining␈α$any␈α$formal
␈↓ ↓N␈↓ARPAnet-like␈α
facilities␈α
to␈α
be␈α
provided␈α
to␈αany     ␈↓ π∞␈↓network.␈α∃ The␈α∃hardware␈α∃cost␈α∃will␈α⊗be␈α∃from
␈↓ ↓N␈↓time-sharing␈α?␈ααcomputer␈α?␈ααsystem␈α?␈ααthat              ␈↓ π∞␈↓$1000␈α
to␈α
$5000␈α
depending␈α
on␈α
how␈α
di≠cult␈α
it␈α
is
␈↓ ↓N␈↓implemented␈α∪them␈α∩and␈α∪equipped␈α∪itself␈α∩with        ␈↓ π∞␈↓to␈α
connect␈αdevices␈α
to␈αthe␈α
computer.␈α There␈α
will
␈↓ ↓N␈↓telephone␈α→dialing␈α→equipment␈α→and␈α→modems.         ␈↓ π∞␈↓be␈α∃programs␈α∃to␈α∃operate␈α∃a␈α⊗telephone␈α∃dialer
␈↓ ↓N␈↓We␈α∩call␈α∩the␈α∩system␈α∩Dialnet␈α∩by␈α∩analogy,␈α∩but         ␈↓ π∞␈↓(rented␈α⊂from␈α⊂the␈α⊂telephone␈α⊂company)␈α⊃and␈α⊂to
␈↓ ↓N␈↓unlike␈α(the␈α(ARPAnet,␈α(it␈α(requires␈α'no               ␈↓ π∞␈↓transmit␈α
signals␈α
and␈α
information␈α∞according␈α
to
␈↓ ↓N␈↓administrator to "admit" new members.       ␈↓ π∞␈↓the␈α⊃protocols.␈α⊂ Any␈α⊃installation␈α⊂implementing
                                            ␈↓ π∞␈↓the␈αprotocols␈αwill␈αbe␈αable␈αto␈αcommunicate␈αwith
␈↓ ↓N␈↓        The␈α2ARPAnet␈α2connects␈α2several           ␈↓ π∞␈↓any␈α∂other.␈α∂ The␈α∂only␈α⊂disadvantage␈α∂compared
␈↓ ↓N␈↓hundred␈α⊂computer␈α⊂facilities␈α⊂and␈α⊃allows␈α⊂users     ␈↓ π∞␈↓with␈α⊃the␈α⊃ARPAnet␈α⊂will␈α⊃be␈α⊃lower␈α⊃speed␈α⊂and
␈↓ ↓N␈↓of␈α⊗one␈α∃system␈α⊗to␈α⊗log␈α∃in␈α⊗on␈α⊗others,␈α∃allows           ␈↓ π∞␈↓higher␈α⊂cost␈α⊂when␈α∂the␈α⊂volume␈α⊂of␈α∂information
␈↓ ↓N␈↓transmission␈α↔of␈α↔messages␈α↔between␈α_users␈α↔of        ␈↓ π∞␈↓transferred is very high.
␈↓ ↓N␈↓di≥erent␈αcomputers,␈αand␈αallows␈αthe␈αtransfer␈αof
␈↓ ↓N␈↓≡les␈α∃between␈α∃computers.␈α∃ More␈α∃generally,␈α∀it      ␈↓ π∞␈↓        Like␈α∃ARPAnet,␈α∃Dialnet␈α∃will␈α⊗be␈α∃most
␈↓ ↓N␈↓allows␈α
interaction␈αamong␈α
programs␈αin␈α
di≥erent    ␈↓ π∞␈↓useful␈α∩to␈α∩␈↓↓full␈α∩time-sharing␈α∩systems␈↓.␈α∩ In␈α⊃such
␈↓ ↓N␈↓computers.                                  ␈↓ π∞␈↓systems,␈α⊂each␈α∂user␈α⊂has␈α∂named␈α⊂disk␈α⊂≡les␈α∂than
                                            ␈↓ π∞␈↓are␈αkept␈αin␈αthe␈αsystem␈αeven␈αwhen␈αhe␈αis␈αabsent
␈↓ ↓N␈↓        These␈αfacilities␈αhave␈αproven␈αvaluable␈α
in ␈↓ π∞␈↓(and␈α∩therefore␈α∩remotely␈α∩accessible),␈α∩and␈α∩new
␈↓ ↓N␈↓permitting␈α≤collaboration␈α≥between␈α≤computer      ␈↓ π∞␈↓≡les␈α
can␈αbe␈α
created␈αby␈α
≡le␈αtransfer␈α
from␈αother
␈↓ ↓N␈↓scientists␈α⊃at␈α⊃di≥erent␈α⊃sites␈α⊃and␈α∩in␈α⊃permitting    ␈↓ π∞␈↓machines␈α∪and␈α∪on␈α∪receipt␈α∪of␈α∪messages.␈α∪ The
␈↓ ↓N␈↓nationwide␈α∂access␈α∂to␈α∞unique␈α∂facilities␈α∂such␈α∞as    ␈↓ π∞␈↓usefulness␈α∩of␈α∪the␈α∩message␈α∪facilities␈α∩normally
␈↓ ↓N␈↓the␈α∩MACSYMA␈α∩system␈α∩for␈α∩computing␈α⊃with            ␈↓ π∞␈↓requires␈α↔that␈α↔users␈α↔habitually␈α↔log␈α↔in␈α⊗each
␈↓ ↓N␈↓algebraic␈αand␈α
analytic␈αexpressions␈α
at␈αM.I.T.␈α
 It  ␈↓ π∞␈↓working␈α∀day␈α∀and␈α∀are␈α∀most␈α∃bene≡cial␈α∀when
␈↓ ↓N␈↓permits␈α⊂a␈α⊂new␈α∂form␈α⊂of␈α⊂publication␈α⊂in␈α∂which         ␈↓ π∞␈↓users␈α⊗have␈α⊗individual␈α⊗display␈α↔terminals␈α⊗in
␈↓ ↓N␈↓documents␈α→are␈α_kept␈α→in␈α_the␈α→computer,␈α_are           ␈↓ π∞␈↓their␈α⊗o≠ces.␈α⊗ Further␈α⊗bene≡ts␈α↔accrue␈α⊗when
␈↓ ↓N␈↓continuously␈α'updatable,␈α(are␈α'immediately        ␈↓ π∞␈↓reports␈α⊗are␈α∃normally␈α⊗prepared␈α⊗at␈α∃terminals
␈↓ ↓N␈↓accessible␈α→throughout␈α→the␈α→country,␈α→and␈α→in        ␈↓ π∞␈↓and␈α∂when␈α∂secretaries␈α∞use␈α∂terminals␈α∂for␈α∞letters
␈↓ ↓N␈↓which␈αcomments␈αfrom␈αreaders␈αare␈αaccessible␈α
to     ␈↓ π∞␈↓and␈α∞messages.␈α∂ However,␈α∞many␈α∂less␈α∞advanced
␈↓ ↓N␈↓other readers.                              ␈↓ π∞␈↓installations␈α∞have␈α∞found␈α∞the␈α∞ARPAnet␈α
useful
                                            ␈↓ π∞␈↓and␈α∃more␈α∃and␈α∃more␈α∃systems␈α∃are␈α∃acquiring
␈↓ ↓N␈↓        The␈α∃usefulness␈α∃of␈α∃the␈α⊗ARPAnet␈α∃has        ␈↓ π∞␈↓economical full time-sharing capability.
␈↓ ↓N␈↓prompted␈α∃many␈α∃non-defense␈α∃installations␈α∃to
␈↓ ↓N␈↓try␈αto␈αconnect␈αto␈αit,␈αand␈αin␈αsome␈αcases␈αthis␈αhas      ␈↓ π∞␈↓        While␈α∂we␈α∂expect␈α∂that␈α∂the␈α∂≡rst␈α⊂users␈α∂of
␈↓ ↓N␈↓been␈α"possible,␈α"but␈α"in␈α"other␈α"cases␈α!the             ␈↓ π∞␈↓Dialnet␈α∀will␈α∪be␈α∀regular␈α∪computer␈α∀users,␈α∪the
␈↓ ↓N␈↓institutional␈α
and␈α≡nancial␈α
obstacles␈α
have␈αbeen   ␈↓ π∞␈↓corresponding␈α⊃ARPAnet␈α⊃facilities␈α⊃have␈α⊃been
␈↓ ↓N␈↓insuperable.␈α
 The␈α
main␈α
≡nancial␈α
obstacles␈α
are    ␈↓ π∞␈↓used␈α"by␈α!non␈α"computer␈α"people,␈α!Dialnet
␈↓ ↓N␈↓the␈α⊂need␈α∂for␈α⊂a␈α∂dedicated␈α⊂computer␈α⊂called␈α∂an        ␈↓ π∞␈↓protocols␈α⊂will␈α∂not␈α⊂require␈α∂ability␈α⊂to␈α∂program,
␈↓ ↓N␈↓IMP␈α⊃costing␈α⊃about␈α⊃$80,000␈α⊃at␈α⊃each␈α⊃site␈α⊃and         ␈↓ π∞␈↓and␈α∀we␈α∀expect␈α∪increasing␈α∀use␈α∀by␈α∀others␈α∪as
␈↓ ↓N␈↓the␈α∪need␈α∪for␈α∪dedicated␈α∪communication␈α∪lines       ␈↓ π∞␈↓terminals become more widespread.
␈↓ ↓N␈↓rented␈α∃by␈α∀DoD␈α∃at␈α∀great␈α∃expense␈α∃from␈α∀the
␈↓ ↓N␈↓αOriginal Dialnet Proposal␈↓ ε(Purpose␈↓ `3


␈↓ ↓N␈↓        In␈α_order␈α→to␈α_make␈α_the␈α→picture␈α_more         ␈↓ π∞␈↓He␈α⊗could␈α⊗then␈α⊗type␈α⊗"␈↓βlink␈↓"␈α⊗and␈α↔have␈α⊗his
␈↓ ↓N␈↓concrete,␈α∂here␈α∞is␈α∂a␈α∞scenario␈α∂of␈α∞the␈α∂use␈α∂of␈α∞the       ␈↓ π∞␈↓keyboard␈α_and␈α_display␈α_e≥ectively␈α_linked␈α↔to
␈↓ ↓N␈↓system.                                     ␈↓ π∞␈↓those of the caller, permitting a conversation.

                                            ␈↓ π∞␈↓Let␈α⊂us␈α⊂suppose,␈α⊂however,␈α⊂that␈α⊂DAVE␈α⊂is␈α⊂not
␈↓ ↓N␈↓α␈↓ β02.  Scenario                                ␈↓ π∞␈↓logged␈α⊂in␈α∂and␈α⊂the␈α∂caller␈α⊂is␈α∂so␈α⊂informed.␈α∂ He
                                            ␈↓ π∞␈↓then types
␈↓ ↓N␈↓A user named Smith types on his terminal    ␈↓ π∞␈↓β␈↓ π.locate dave@utex-chem3
␈↓ ↓N␈↓β␈↓ ↓nmail Organik                                ␈↓ π∞␈↓which␈α
obtains␈αthe␈α
following␈α
information␈αfrom
␈↓ ↓N␈↓β␈↓ ↓nDo you have any active work there on        ␈↓ π∞␈↓the speci≡ed computer:
␈↓ ↓N␈↓β␈↓ ↓nhuman red cell carbonic anhydrase B?        ␈↓ π∞␈↓β␈↓ π.David Piranha last logged out at
                                            ␈↓ π∞␈↓β␈↓ π.23:47 on 9 May 1976.  Plan: I will
␈↓ ↓N␈↓The␈α_system␈α_looks␈α_up␈α_Organik␈α_in␈α↔Smith's            ␈↓ π∞␈↓β␈↓ π.be out of touch May 10 through 16.
␈↓ ↓N␈↓correspondent␈α≠≡le␈α≤and␈α≠discovers␈α≤that␈α≠his         ␈↓ π∞␈↓β␈↓ π.I plan to visit Martin Shumway at
␈↓ ↓N␈↓computer␈αpseudonym␈αis␈α"NAT"␈αat␈α
a␈αcomputer         ␈↓ π∞␈↓β␈↓ π.the University of Utah on May 17 and
␈↓ ↓N␈↓called␈α∞UTEX-CHEM1␈α∞that␈α∞is␈α∞reached␈α∞at␈α
512          ␈↓ π∞␈↓β␈↓ π.should return by May 18.  Will check
␈↓ ↓N␈↓471-3221␈α∀via␈α∀a␈α∀1200/150␈α∀baud␈α∀asychronous         ␈↓ π∞␈↓β␈↓ π.mail from Utah.
␈↓ ↓N␈↓modem.␈α∀ It␈α∀selects␈α∀an␈α∀outgoing␈α∀line␈α∀with␈α∪a
␈↓ ↓N␈↓matching␈α≤modem,␈α≤dials␈α≤the␈α≥number␈α≤and             ␈↓ π∞␈↓Noting␈α
that␈α
the␈α
current␈α
date␈α
is␈α
May␈α
14,␈αso␈α
that
␈↓ ↓N␈↓attempts␈α→to␈α→transmit␈α→the␈α→message.␈α~ If␈α→the         ␈↓ π∞␈↓there␈α
is␈α
no␈α
point␈α
in␈α
getting␈α
the␈α
message␈α
there
␈↓ ↓N␈↓transmitting␈α
computer␈α
cannot␈α
elicit␈α
a␈αresponse   ␈↓ π∞␈↓quickly, Smith types
␈↓ ↓N␈↓from␈αthe␈α
desired␈αrecipient,␈α
it␈αinforms␈α
the␈αuser    ␈↓ π∞␈↓β␈↓ π.night mail dave@utex-chem3
␈↓ ↓N␈↓that␈α⊃it␈α∩will␈α⊃try␈α∩again␈α⊃later␈α∩and␈α⊃send␈α∩him␈α⊃a          ␈↓ π∞␈↓β␈↓ π.I am interested in your work on
␈↓ ↓N␈↓message␈αwhen␈α
the␈αtransmission␈α
has␈αsucceeded.     ␈↓ π∞␈↓β␈↓ π.anhydrase B.  If possible, give
␈↓ ↓N␈↓If␈αthe␈αuser's␈αcorrespondent␈α≡le␈αdid␈αnot␈αcontain    ␈↓ π∞␈↓β␈↓ π.pointers to online documentation,
␈↓ ↓N␈↓the␈α7telepone␈α7number␈α8and␈α7modem                   ␈↓ π∞␈↓β␈↓ π.else give me a call at 415 497-4430
␈↓ ↓N␈↓characteristics,␈α∞the␈α
user␈α∞would␈α
have␈α∞to␈α
supply    ␈↓ π∞␈↓β␈↓ π.(Stanford) or 415 321-7580 (home).
␈↓ ↓N␈↓them.                                       ␈↓ π∞␈↓The␈α"night␈α
mail"␈αcommand␈α
causes␈αthe␈α
message
                                            ␈↓ π∞␈↓transmission␈α∂to␈α∞be␈α∂deferred␈α∂until␈α∞inexpensive
␈↓ ↓N␈↓The␈α⊂identity␈α⊂and␈α∂location␈α⊂of␈α⊂the␈α⊂sender␈α∂and        ␈↓ π∞␈↓nighttime telephone rates are in force.
␈↓ ↓N␈↓date␈α
and␈α
time␈αof␈α
the␈α
message␈αare␈α
automatically
␈↓ ↓N␈↓placed␈α∩at␈α⊃the␈α∩front␈α∩of␈α⊃the␈α∩message.␈α∩ At␈α⊃the         ␈↓ π∞␈↓Additional␈α⊂capabilities␈α⊃of␈α⊂the␈α⊃Dialnet␈α⊂system
␈↓ ↓N␈↓receiving␈αend,␈αif␈αthe␈αaddressee␈αis␈αlogged␈αin␈αon     ␈↓ π∞␈↓can␈α
be␈α
used␈α
to␈α
follow␈α
up␈α
on␈α
the␈α
above␈α
inquiry,
␈↓ ↓N␈↓the␈αcomputer,␈αhe␈αis␈αimmediately␈αinformed␈αthat     ␈↓ π∞␈↓as follows.
␈↓ ↓N␈↓mail␈α∃has␈α∃arrived␈α∀and␈α∃from␈α∃whom.␈α∃ If␈α∀not
␈↓ ↓N␈↓logged␈αin,␈αhe␈αwill␈αreceive␈αthe␈αmessage␈αthe␈αnext     ␈↓ π∞␈↓␈↓π⊗␈↓ The ability to access remote text ≡les will be
␈↓ ↓N␈↓time␈αhe␈αlogs␈αin.␈α In␈αeither␈αcase,␈αhe␈αcan␈αuse␈αthe      ␈↓ π∞␈↓␈↓ π.provided (with permission of the owners
␈↓ ↓N␈↓same facility to respond:                   ␈↓ π∞␈↓␈↓ π.required, of course).  This interactive
␈↓ ↓N␈↓β␈↓ ↓nmail Smith                                  ␈↓ π∞␈↓␈↓ π.reading facility will include the addition of
␈↓ ↓N␈↓β␈↓ ↓nDavid Piranha (DAVE@UTEX-CHEM3) has         ␈↓ π∞␈↓␈↓ π."footnotes" to various parts of the text.
␈↓ ↓N␈↓β␈↓ ↓na student working on inhibition by          ␈↓ π∞␈↓␈↓ π.These footnotes may be declared private
␈↓ ↓N␈↓β␈↓ ↓nanions of anhydrase B.                      ␈↓ π∞␈↓␈↓ π.(i.e. belonging to the reader) or public
                                            ␈↓ π∞␈↓␈↓ π.(available to the author and possibly
␈↓ ↓N␈↓Following up on this lead, the user types   ␈↓ π∞␈↓␈↓ π.others).
␈↓ ↓N␈↓β␈↓ ↓nlink dave@utex-chem3
                                            ␈↓ π∞␈↓␈↓π⊗␈↓ It will be possible to run programs on a
␈↓ ↓N␈↓A␈α∨connection␈α is␈α∨made␈α∨to␈α the␈α∨speci≡ed              ␈↓ π∞␈↓␈↓ π.remote computer, permitting experiments
␈↓ ↓N␈↓computer␈α⊗and,␈α⊗if␈α↔DAVE␈α⊗is␈α⊗logged␈α↔in,␈α⊗he             ␈↓ π∞␈↓␈↓ π.with programs developed in other places.
␈↓ ↓N␈↓immediately receives a message saying       ␈↓ π∞␈↓␈↓ π.This facility will permit the sharing of
␈↓ ↓N␈↓β␈↓ ↓n** Link request from Smith @SU-CHEM7        ␈↓ π∞␈↓␈↓ π.unique specialized capabilities over a
␈↓ ↓N␈↓β␈↓ ↓n**                                          ␈↓ π∞␈↓␈↓ π.geographically distributed population.
␈↓ ↓N␈↓αOriginal Dialnet Proposal␈↓ ε%Scenario␈↓ ]4


␈↓ ↓N␈↓␈↓π⊗␈↓ File transfers will be permitted, with    ␈↓ π∞␈↓account␈αthe␈αfact␈αthat␈αthe␈αsubcase␈αwill␈αhave␈αthe
␈↓ ↓N␈↓␈↓ ↓nsuitable error detection and correction     ␈↓ π∞␈↓most␈α∃application␈α∃for␈α⊗a␈α∃long␈α∃time␈α⊗to␈α∃come.
␈↓ ↓N␈↓␈↓ ↓nfeatures, to permit sharing of data.  The   ␈↓ π∞␈↓Messages␈α∩about␈α∪where␈α∩to␈α∩deliver␈α∪a␈α∩message
␈↓ ↓N␈↓␈↓ ↓ncommunication protocol should be able to    ␈↓ π∞␈↓sent␈α
by␈α
one␈α
time-sharing␈α
system␈α
to␈α
another␈α
will
␈↓ ↓N␈↓␈↓ ↓nadapt to a wide range of noise conditions   ␈↓ π∞␈↓be␈α∂handled␈α∂as␈α∂a␈α∂special␈α∂sort␈α∂of␈α⊂message␈α∂that
␈↓ ↓N␈↓␈↓ ↓non phone lines.                             ␈↓ π∞␈↓one␈αprogram␈αmay␈αsend␈αanother␈αin␈αcases␈αwhere
                                            ␈↓ π∞␈↓the␈αtwo␈αprograms␈αare␈αnot␈αwritten␈αtogether,␈αbut
                                            ␈↓ π∞␈↓each␈α⊂must␈α⊂know␈α⊂a␈α⊂certain␈α⊂"public"␈α∂language.
␈↓ ↓N␈↓α␈↓ β,3.  Protocols                               ␈↓ π∞␈↓Thus␈α↔we␈α↔will␈α_attempt␈α↔to␈α↔make␈α_a␈α↔general
                                            ␈↓ π∞␈↓format␈α⊂for␈α∂requests,␈α⊂questions,␈α⊂and␈α∂assertions
␈↓ ↓N␈↓In␈α∃order␈α∃to␈α∃make␈α∃these␈α∃facilities␈α∃available,      ␈↓ π∞␈↓suitable␈α∞for␈α
communication␈α∞between␈α
computer
␈↓ ↓N␈↓suitable␈α
protocols␈α
must␈α
be␈α
designed,␈α
and␈αin␈α
the    ␈↓ π∞␈↓programs.␈α⊃ We␈α⊃will␈α⊃study␈α⊃how␈α⊃to␈α∩make␈α⊃this
␈↓ ↓N␈↓course␈αof␈αthis,␈αa␈αnumber␈αof␈αtechnical␈αproblems     ␈↓ π∞␈↓mesh␈α⊃with␈α⊃communication␈α⊃between␈α⊃computer
␈↓ ↓N␈↓have␈α_to␈α_be␈α_solved.␈α_ Besides␈α_the␈α_protocols         ␈↓ π∞␈↓programs and people.
␈↓ ↓N␈↓themselves,␈α3which␈α3are␈α2communication
␈↓ ↓N␈↓procedures␈αand␈αdata␈αstructures,␈αthere␈αwill␈αbe␈αa
␈↓ ↓N␈↓recommended␈α⊂set␈α∂of␈α⊂terminal-level␈α∂commands      ␈↓ π∞␈↓α␈↓ λ@4.  Research Issues
␈↓ ↓N␈↓with␈α∃syntax␈α⊗prompting␈α∃and␈α⊗standard␈α∃error
␈↓ ↓N␈↓messages.                                   ␈↓ π∞␈↓        There␈αare␈αmany␈αresearch␈αissues,␈αand␈αwe
                                            ␈↓ π∞␈↓don't␈α∂expect␈α∂to␈α∂settle␈α∂all␈α∂of␈α∂them␈α∂in␈α∂the␈α∞time
␈↓ ↓N␈↓We␈α∩believe␈α∩that␈α∩we␈α∩have␈α∩the␈α∩experience␈α∩to          ␈↓ π∞␈↓and␈α→with␈α→the␈α→resources␈α→requested␈α~in␈α→this
␈↓ ↓N␈↓produce␈α
a␈α∞set␈α
of␈α∞workable␈α
protocols,␈α∞and␈α
that      ␈↓ π∞␈↓proposal.␈α
 Since␈α
we␈α
expect␈α
many␈α
of␈α
the␈α
issues
␈↓ ↓N␈↓it␈α∩is␈α∪better␈α∩to␈α∪start␈α∩with␈α∪an␈α∩implementation       ␈↓ π∞␈↓will␈α
be␈α
clari≡ed␈α
by␈α
the␈α∞initial␈α
implementation,
␈↓ ↓N␈↓than␈α∃to␈α⊗standardize␈α∃something␈α⊗that␈α∃doesn't       ␈↓ π∞␈↓we␈α∪will␈α∪concentrate␈α∪on␈α∪getting␈α∪a␈α∪reasonable
␈↓ ↓N␈↓exist.␈α The␈α
latter␈αprocedure␈α
in␈αrecent␈αyears␈α
has   ␈↓ π∞␈↓≡rst implementation into experimental use.
␈↓ ↓N␈↓led␈α∀to␈α∀gold-plating␈α∀the␈α∀requirements␈α∃to␈α∀the
␈↓ ↓N␈↓extent that the standard is not implementable.␈↓ π∞␈↓        Here␈α∃are␈α∀some␈α∃of␈α∀the␈α∃issues␈α∃we␈α∀will
                                            ␈↓ π∞␈↓study:
␈↓ ↓N␈↓We␈α⊃propose␈α⊂to␈α⊃devise␈α⊂suitable␈α⊃protocols,␈α⊂test
␈↓ ↓N␈↓them␈αat␈αa␈αfew␈αsites,␈αpublish␈αthem,␈αand␈αattempt      ␈↓ π∞␈↓1.␈αWhat␈αerror␈αcorrection␈αfacilities␈αare␈αrequired
␈↓ ↓N␈↓to␈α∪convince␈α∪other␈α∪installations␈α∪to␈α∩implement     ␈↓ π∞␈↓to␈α⊂make␈α⊂up␈α⊃for␈α⊂the␈α⊂de≡ciencies␈α⊃of␈α⊂telephone
␈↓ ↓N␈↓them.␈α
 Almost␈α
certainly,␈α
initial␈α
experience␈αwill ␈↓ π∞␈↓lines?
␈↓ ↓N␈↓produce␈α≤a␈α≤requirement␈α≤for␈α≤changes,␈α≤and
␈↓ ↓N␈↓standardization␈α
committees␈αwill␈α
be␈αformed␈α
and    ␈↓ π∞␈↓2.␈α∂What␈α∂is␈α∂the␈α∂minimal␈α∂necessary␈α∂burden␈α∂on
␈↓ ↓N␈↓set␈α#to␈α#work.␈α$ A␈α#likely␈α#forum␈α$for␈α#a                 ␈↓ π∞␈↓the␈α∩time-sharing␈α∩computers␈α∩carrying␈α∩out␈α∩the
␈↓ ↓N␈↓standardization␈α∩e≥ort␈α∩would␈α∩be␈α∩through␈α⊃the       ␈↓ π∞␈↓communication?␈α& What␈α&is␈α&the␈α%trade-o≥
␈↓ ↓N␈↓ACM␈α∀to␈α∀the␈α∀American␈α∃National␈α∀Standards           ␈↓ π∞␈↓between bu≥er size and compute time?
␈↓ ↓N␈↓Committee.
                                            ␈↓ π∞␈↓3.␈α
Can␈αdial-up␈α
telephone␈α
communication␈αrates
␈↓ ↓N␈↓We␈α$propose␈α$to␈α$allow␈α$interaction␈α#with             ␈↓ π∞␈↓meet␈α∀most␈α∀of␈α∀the␈α∀needs␈α∀for␈α∀communication
␈↓ ↓N␈↓ARPAnet␈α→sites␈α_via␈α→TIPs␈α_and␈α→propose␈α_to             ␈↓ π∞␈↓between␈α≥computers␈α≥belonging␈α≡to␈α≥di≥erent
␈↓ ↓N␈↓discuss␈α⊃with␈α∩ARPA␈α⊃and␈α⊃DCA␈α∩whether␈α⊃this            ␈↓ π∞␈↓research organizations?
␈↓ ↓N␈↓will be allowed.
                                            ␈↓ π∞␈↓4.␈α
What␈αis␈α
the␈αbest␈α
way␈α
to␈αhandle␈α
the␈αfact␈α
that
␈↓ ↓N␈↓The␈α⊃most␈α⊃general␈α⊃use␈α⊃of␈α⊃Dialnet␈α⊃involves␈α⊃a         ␈↓ π∞␈↓di≥erent␈α∞modem␈α∞speeds␈α∞have␈α∞di≥erent␈α
prices?
␈↓ ↓N␈↓program␈α∩in␈α∪one␈α∩computer␈α∩"waking␈α∪up"␈α∩and           ␈↓ π∞␈↓Should␈αone␈αstrive␈αfor␈αa␈αstandard␈αspeed␈αor␈αcan
␈↓ ↓N␈↓interacting␈α!with␈α!a␈α!program␈α!in␈α another            ␈↓ π∞␈↓a wide variety be easily accomodated?
␈↓ ↓N␈↓machine.␈α
 Dialnet␈α
protocols␈α
will␈αhandle␈α
human
␈↓ ↓N␈↓messages␈α∃as␈α∃a␈α∃subcase␈α∃of␈α∃this,␈α⊗taking␈α∃into         ␈↓ π∞␈↓5.␈α_How␈α_will␈α_the␈α→improved␈α_communication
␈↓ ↓N␈↓αOriginal Dialnet Proposal␈↓ ¬vResearch Issues␈↓ ←5


␈↓ ↓N␈↓a≥ect␈α∩research?␈α∩ Since␈α∩changes␈α∩will␈α∩be␈α∩slow,
␈↓ ↓N␈↓how␈α
can␈α∞we␈α
tell␈α
as␈α∞early␈α
as␈α
possible␈α∞what␈α
the
␈↓ ↓N␈↓e≥ects will be?

␈↓ ↓N␈↓6.␈α∞What␈α∞style␈α∞of␈α∞interaction␈α∞is␈α∂convenient␈α∞for
␈↓ ↓N␈↓both␈α↔experienced␈α↔and␈α_inexperienced␈α↔users?
␈↓ ↓N␈↓How␈α∩can␈α⊃communication␈α∩programs␈α∩be␈α⊃made
␈↓ ↓N␈↓self-teaching without being cumbersome?
␈↓ ↓N␈↓α␈↓ ε↑␈↓ `6


␈↓ ↓N␈↓α␈↓ β,Appendix B                                  ␈↓ π∞␈↓data␈α∃bytes␈α∃over␈α∃the␈α∃phone␈α∃lines␈α⊗and␈α∃does
␈↓ ↓N␈↓α␈↓ β↓Basic line protocol                         ␈↓ π∞␈↓necessary␈α∂byte␈α∂framing,␈α∞but␈α∂otherwise␈α∂has␈α∞no
                                            ␈↓ π∞␈↓error␈α
correction␈α
facilities.␈α
 At␈α
this␈α
writing,␈α
the
␈↓ ↓N␈↓↓␈↓ β∪by Mark Crispin                             ␈↓ π∞␈↓modem␈α≡type␈α≡used␈α≡are␈α≡VADIC␈α≡VA3405
                                            ␈↓ π∞␈↓1200/1200␈α∨baud␈α∨full␈α∨duplex␈α≡asyncronous
                                            ␈↓ π∞␈↓modems.
␈↓ ↓N␈↓α␈↓ β⊗5.  Conventions
                                            ␈↓ π∞␈↓Next␈α∂is␈α⊂the␈α∂␈↓↓host-host␈↓␈α⊂layer,␈α∂which␈α⊂breaks␈α∂the
␈↓ ↓N␈↓All␈αnumbers␈αwithout␈αan␈αexplicit␈αbase␈αspeci≡ed     ␈↓ π∞␈↓data␈α∀stream␈α∀into␈α∀chunks,␈α∀or␈α∀␈↓↓packets␈↓.␈α∪ Each
␈↓ ↓N␈↓(i.e.,␈αoctal␈αor␈αdecimal)␈αshould␈αbe␈αinterpreted␈αas  ␈↓ π∞␈↓packet␈αis␈αchecksummed␈αand␈αsequenced,␈αso␈αthat
␈↓ ↓N␈↓octal␈α∨unless␈α the␈α∨number␈α is␈α∨immediately           ␈↓ π∞␈↓retransmission␈αcan␈αbe␈αdone␈αon␈αa␈αpacket␈αwhose
␈↓ ↓N␈↓followed by a dot, in which case it is decimal.␈↓ π∞␈↓previous␈α∂transmission␈α⊂was␈α∂corrupted␈α⊂in␈α∂some
                                            ␈↓ π∞␈↓way.␈α⊃ Many␈α⊃systems␈α⊃may␈α⊃want␈α⊃to␈α⊂implement
␈↓ ↓N␈↓All␈α≡three-digit␈α≡octal␈α≡numbers␈α≡should␈α≥be          ␈↓ π∞␈↓this␈α∃layer␈α∃in␈α∀their␈α∃operating␈α∃system,␈α∃so␈α∀all
␈↓ ↓N␈↓interpreted␈αas␈αrepresenting␈αan␈α8.-bit␈αbyte,␈αwith  ␈↓ π∞␈↓␈↓↓Dialnet␈↓␈α
user␈α
programs␈α
will␈α
behave␈α
at␈α
this␈α
level
␈↓ ↓N␈↓bits␈αright-justi≡ed␈αwithin␈αthe␈αnumber␈α(ie,␈αfrom   ␈↓ π∞␈↓in the same manner.
␈↓ ↓N␈↓000␈α∞to␈α
377).␈α∞ Bytes␈α
are␈α∞expressed␈α
in␈α∞the␈α
form
␈↓ ↓N␈↓as␈α∞returned␈α
by␈α∞the␈α
modem␈α∞(ie,␈α
lsb␈α∞≡rst␈α∞in␈α
the        ␈↓ π∞␈↓Finally␈α∩comes␈α∪the␈α∩user-level␈α∪protocols.␈α∩ This
␈↓ ↓N␈↓data stream).                               ␈↓ π∞␈↓includes␈α⊂≡le␈α∂transfer,␈α⊂mail,␈α⊂linking,␈α∂telnetting,
                                            ␈↓ π∞␈↓etc.␈α≥ These␈α≤are␈α≥user-level␈α≥programs,␈α≤and
␈↓ ↓N␈↓All␈α#six-digit␈α$octal␈α#numbers␈α$should␈α#be            ␈↓ π∞␈↓␈↓↓Dialnet␈↓␈α≥has␈α≥been␈α≥designed␈α≥with␈α≥enough
␈↓ ↓N␈↓interpreted␈α∩as␈α∪representing␈α∩a␈α∪16.-bit␈α∩double-    ␈↓ π∞␈↓∨exibility␈α∂to␈α∂allow␈α∂for␈α∂users␈α∂to␈α∂create␈α∂private
␈↓ ↓N␈↓byte,␈α≡with␈α≡bits␈α≡right-justi≡ed␈α≡within␈α≥the        ␈↓ π∞␈↓protocols of their own.
␈↓ ↓N␈↓number␈α
(ie,␈α
from␈α
000000␈α
to␈α
177777).␈α
 Double-
␈↓ ↓N␈↓bytes␈α⊂are␈α⊂expressed␈α⊂in␈α⊂the␈α⊂form␈α⊂returned␈α∂by        ␈↓ π∞␈↓Questions␈αconcerning␈α␈↓↓Dialnet␈↓␈αprotocols␈αshould
␈↓ ↓N␈↓the␈αmodem␈α(ie,␈αlow␈α
order␈αbyte␈αand␈αlsb␈α≡rst);␈α
ie,     ␈↓ π∞␈↓be addressed to:
␈↓ ↓N␈↓010041 is transmitted as 041 020.
                                            ␈↓ π∞␈↓␈↓↓␈↓ λdMark Crispin
                                            ␈↓ π∞␈↓↓␈↓ πpArti≡cial Intelligence Laboratory
␈↓ ↓N␈↓α␈↓ β76.  Preface                                 ␈↓ π∞␈↓↓␈↓ λ
Stanford, California  94305

␈↓ ↓N␈↓␈↓↓␈↓ ↓b"Aren't you glad you use Dialnet?  Don't you ␈↓ π∞␈↓↓␈↓ λ1Phone: (415) 491-4712
␈↓ ↓N␈↓ α}␈↓↓wish everybody did?"␈↓                        ␈↓ π∞␈↓↓␈↓ λ!ARPAnet: MRC@SU-AI␈↓

␈↓ ↓N␈↓␈↓↓Dialnet␈↓␈α8provides␈α8a␈α8capability␈α8for               ␈↓ π∞␈↓Copies␈αof␈αall␈αcorrespondence␈αshould␈αbe␈αsent␈αto
␈↓ ↓N␈↓geographically␈α≡separated␈α∨computers,␈α≡called     ␈↓ π∞␈↓John␈αMcCarthy␈αand␈αLes␈αEarnest␈αat␈αthe␈αabove
␈↓ ↓N␈↓␈↓↓hosts␈↓,␈α⊂to␈α⊃communicate␈α⊂with␈α⊂each␈α⊃other.␈α⊂ The       ␈↓ π∞␈↓US␈α∀mail␈α∀address␈α∪or␈α∀via␈α∀ARPAnet␈α∀mail␈α∪to
␈↓ ↓N␈↓host␈α≥computers␈α≤typically␈α≥di≥er␈α≥from␈α≤one          ␈↓ π∞␈↓JMC@SU-AI and LES@SU-AI.
␈↓ ↓N␈↓another␈αin␈α
type,␈αspeed,␈αword␈α
length,␈αoperating
␈↓ ↓N␈↓system,␈α
etc.␈α
 Each␈α
computer␈α
utilizes␈α␈↓↓Dialnet␈↓␈α
via  ␈↓ π∞␈↓It␈α
is␈α
the␈αauthor's␈α
intent␈α
that␈α
these␈αprotocols␈α
are
␈↓ ↓N␈↓ordinary phone lines and special modems.    ␈↓ π∞␈↓both␈α~simple␈α≠in␈α~their␈α≠implementation␈α~and
                                            ␈↓ π∞␈↓powerful␈α≠in␈α≠their␈α≠operation.␈α≠ Certainly␈α≠a
␈↓ ↓N␈↓As␈α in␈α many␈α other␈α data␈α∨communication              ␈↓ π∞␈↓major␈α→design␈α→consideration␈α→was␈α→to␈α→design
␈↓ ↓N␈↓schemes,␈αa␈αlayered␈αapproach␈αhas␈αbeen␈αselected     ␈↓ π∞␈↓protocols␈α*that␈α*ordinary␈α+mortals␈α*could
␈↓ ↓N␈↓in␈α∂the␈α∂design␈α∂of␈α∂the␈α∂Dialnet␈α∂protocols.␈α∂ Each      ␈↓ π∞␈↓implement on their systems.
␈↓ ↓N␈↓layer␈α⊗sees␈α⊗the␈α⊗immediate␈α⊗lower␈α⊗layer␈α⊗as␈α∃a
␈↓ ↓N␈↓"black␈α
box"␈αand␈α
need␈αnot␈α
be␈α
concerned␈αabout
␈↓ ↓N␈↓its␈α∞internal␈α∞structure.␈α∞ The␈α∞lowest␈α∞layer␈α∞is␈α∞the
␈↓ ↓N␈↓line␈α⊂protocol␈α∂of␈α⊂the␈α∂modems,␈α⊂which␈α∂transfers
␈↓ ↓N␈↓αBasic line protocol␈↓ ε↑␈↓ `7


␈↓ ↓N␈↓α␈↓ αj7.  Host-Host Protocol                      ␈↓ π∞␈↓it␈α∪should␈α∪send␈α∪a␈α∪NOP,␈α∪repeated␈α∪every␈α∩≡ve
                                            ␈↓ π∞␈↓seconds␈α∞or␈α∞so.␈α∂ This␈α∞assures␈α∞the␈α∂receiver␈α∞that
␈↓ ↓N␈↓All␈αdata␈α
is␈αsent␈αin␈α
the␈αform␈αof␈α
packets,␈αwhich       ␈↓ π∞␈↓the␈αsender␈αis␈αstill␈αup,␈αand␈αserves␈αto␈αinform␈αthe
␈↓ ↓N␈↓contain␈α∞a␈α∞␈↓↓packet␈α∞header␈↓,␈α∞optional␈α∞␈↓↓data␈↓,␈α∞and␈α∞a      ␈↓ π∞␈↓receiver␈α∩if␈α∪any␈α∩of␈α∪its␈α∩pending␈α∪packets␈α∩were
␈↓ ↓N␈↓␈↓↓packet␈α∩trailer␈↓.␈α∩ The␈α⊃packet␈α∩header␈α∩serves␈α⊃to      ␈↓ π∞␈↓missed.␈α∩ However,␈α⊃if␈α∩the␈α⊃sender␈α∩has␈α⊃packets
␈↓ ↓N␈↓identify␈α
the␈αtype␈α
of␈αpacket,␈α
the␈αsize␈α
of␈αthe␈α
data    ␈↓ π∞␈↓waiting␈α"to␈α"be␈α"acknowledged,␈α"it␈α"should
␈↓ ↓N␈↓area␈α⊃and␈α⊃provides␈α⊃information␈α⊃necessary␈α⊂for      ␈↓ π∞␈↓retransmit␈α0the␈α0last␈α0packet␈α0on␈α0the
␈↓ ↓N␈↓data␈α∩∨ow␈α∪and␈α∩error␈α∩correction.␈α∪ The␈α∩packet        ␈↓ π∞␈↓acknowledgement␈α_pending␈α_list.␈α_ This␈α_is␈α_to
␈↓ ↓N␈↓trailer␈α∪provides␈α∪a␈α∪checksum␈α∪for␈α∀the␈α∪packet.       ␈↓ π∞␈↓avoid␈α
a␈α∞possible␈α
deadlock␈α
which␈α∞occurs␈α
when
␈↓ ↓N␈↓Packets␈αare␈αframed␈α
at␈αeach␈αend␈α
with␈αa␈α␈↓↓start␈α
of       ␈↓ π∞␈↓the␈α
last␈α
packet␈α
before␈αthe␈α
sending␈α
goes␈α
idle␈αis
␈↓ ↓N␈↓↓packet␈↓ and an ␈↓↓end of packet␈↓ marker.         ␈↓ π∞␈↓lost.

␈↓ ↓N␈↓The␈α∂bytes␈α∂which␈α⊂indicate␈α∂start␈α∂of␈α⊂packet␈α∂are       ␈↓ π∞␈↓A␈α∩properly␈α⊃received␈α∩packet␈α⊃with␈α∩a␈α⊃non-zero
␈↓ ↓N␈↓called␈α∞SOP,␈α∞and␈α
consist␈α∞of␈α∞ASCII␈α∞DLE␈α
(220)         ␈↓ π∞␈↓packet␈α
number␈α
must␈α
be␈α
acknowledged␈α
for␈α
the
␈↓ ↓N␈↓followed␈α∪by␈α∪STX␈α∪(202);␈α∪similarly,␈α∀the␈α∪bytes       ␈↓ π∞␈↓sender␈α⊂to␈α⊂know␈α⊂that␈α⊂the␈α⊂receiver␈α∂successfully
␈↓ ↓N␈↓which␈α
indicate␈α
end␈αof␈α
packet␈α
are␈α
called␈αEOP,       ␈↓ π∞␈↓received␈α
the␈α
packet␈αand␈α
to␈α
release␈α
that␈αpacket
␈↓ ↓N␈↓and␈α∞are␈α
ASCII␈α∞DLE␈α
followed␈α∞by␈α∞ETX␈α
(203).           ␈↓ π∞␈↓from␈α≤the␈α≤window.␈α≤ Each␈α≤packet␈α≤has␈α≠an
␈↓ ↓N␈↓Note␈αthat␈αthe␈α200␈αbit␈αis␈α␈↓↓on␈↓␈αin␈αDLE,␈αSTX,␈αand          ␈↓ π∞␈↓acknowledgement␈α∂byte␈α∂which␈α∂is␈α∂used␈α∂for␈α∞this
␈↓ ↓N␈↓ETX.␈α If␈αa␈α220␈αbyte␈αis␈αto␈αbe␈αsent,␈αit␈α
is␈αquoted        ␈↓ π∞␈↓purpose.␈α⊃ This␈α⊂byte␈α⊃in␈α⊂a␈α⊃packet␈α⊂sent␈α⊃by␈α⊂the
␈↓ ↓N␈↓by␈α≥being␈α≥sent␈α≥twice.␈α≥ DLE␈α≥followed␈α≥by             ␈↓ π∞␈↓receiver␈α⊃contains␈α⊃the␈α⊃number␈α⊃of␈α∩the␈α⊃highest
␈↓ ↓N␈↓anything␈α⊂other␈α⊂than␈α⊂STX,␈α⊂ETX,␈α⊂or␈α⊃DLE␈α⊂is            ␈↓ π∞␈↓successfully␈αreceived␈αpacket.␈α Acknowledging␈αa
␈↓ ↓N␈↓currently␈α→unde≡ned;␈α→any␈α→such␈α_combination        ␈↓ π∞␈↓packet␈α?␈αλimplies␈α?␈α	acknowledging␈α?␈αλall
␈↓ ↓N␈↓when␈α
received␈α
should␈αbe␈α
discarded.␈α
 020,␈α002,     ␈↓ π∞␈↓unacknowledged␈α_packets␈α↔with␈α_lower␈α↔packet
␈↓ ↓N␈↓and␈α
003␈α
are␈α
␈↓↓not␈↓␈α
considered␈α
to␈α
be␈α∞DLE,␈α
STX,          ␈↓ π∞␈↓numbers,␈α≠therefore␈α≠a␈α≤successfully␈α≠received
␈↓ ↓N␈↓and ETX.                                    ␈↓ π∞␈↓packet␈α∀can␈α∀merely␈α∀set␈α∀the␈α∀acknowledgement
                                            ␈↓ π∞␈↓byte␈α⊃for␈α⊃the␈α⊃next␈α⊃packet␈α⊃to␈α⊃be␈α∩sent␈α⊃without
␈↓ ↓N␈↓All␈α
packets␈α
have␈α∞a␈α
packet␈α
number,␈α∞which␈α
for        ␈↓ π∞␈↓actually forcing a packet to be sent.
␈↓ ↓N␈↓most␈α∞packets␈α
starts␈α∞at␈α
001␈α∞and␈α∞is␈α
incremented
␈↓ ↓N␈↓with␈α∩each␈α∩packet␈α∩sent.␈α∩ The␈α∪packet␈α∩number         ␈↓ π∞␈↓Packets␈α
must␈αbe␈α
received␈αin␈α
sequence,␈αwith␈α
the
␈↓ ↓N␈↓wraps␈α⊃around␈α⊃to␈α⊃001␈α⊃from␈α⊃377.␈α⊃ Up␈α∩to␈α⊃two            ␈↓ π∞␈↓exception␈α∞of␈α∞packets␈α∞with␈α∞packet␈α∞number␈α
000
␈↓ ↓N␈↓(the␈α
default␈αwindow␈α
size)␈αpackets␈α
may␈α
be␈αsent      ␈↓ π∞␈↓(see␈α
above).␈α
 If␈αthe␈α
receiver␈α
receives␈α
a␈αpacket␈α
it
␈↓ ↓N␈↓before␈αan␈αacknowledgement␈αis␈αreceived␈α
for␈α(at     ␈↓ π∞␈↓has␈αalready␈αacknowledged␈αit␈αshould␈αdiscard␈αit.
␈↓ ↓N␈↓least)␈α∀the␈α∃≡rst␈α∀packet.␈α∀ The␈α∃window␈α∀begins        ␈↓ π∞␈↓Packets␈α≥which␈α≤have␈α≥a␈α≥sequence␈α≤number
␈↓ ↓N␈↓with␈α)the␈α)≡rst␈α)unacknowledged␈α(packet;            ␈↓ π∞␈↓higher␈α∂than␈α∂the␈α∂expected␈α∂packet␈α∂and␈α∞packets
␈↓ ↓N␈↓therefore␈α⊗the␈α⊗window␈α⊗size␈α⊗is␈α⊗an␈α∃allocation        ␈↓ π∞␈↓with␈α∞incorrect␈α∂checksum␈α∞should␈α∂be␈α∞discarded,
␈↓ ↓N␈↓which␈α⊂is␈α∂used␈α⊂up␈α∂as␈α⊂packets␈α∂are␈α⊂sent␈α⊂and␈α∂is          ␈↓ π∞␈↓and␈α
a␈α
NAK␈α∞sent␈α
for␈α
the␈α
expected␈α∞packet.␈α
 In
␈↓ ↓N␈↓given back as packets are acknowledged.     ␈↓ π∞␈↓the␈α∃event␈α∀of␈α∃a␈α∀framing␈α∃error,␈α∃the␈α∀receiver
                                            ␈↓ π∞␈↓should␈α⊗discard␈α⊗all␈α⊗input␈α⊗until␈α⊗an␈α⊗SOP␈α⊗is
␈↓ ↓N␈↓Some␈α⊗packets␈α⊗(ie,␈α⊗NOP,␈α⊗NAK,␈α⊗and␈α⊗ERR)              ␈↓ π∞␈↓encountered␈α∞in␈α∞the␈α∞input␈α∞stream.␈α∞ If␈α∂a␈α∞packet
␈↓ ↓N␈↓have␈α
a␈α
packet␈α
number␈α
of␈α
000.␈α
 These␈αpackets        ␈↓ π∞␈↓is␈α∀discarded␈α∀for␈α∀being␈α∀out␈α∀of␈α∃sequence,␈α∀its
␈↓ ↓N␈↓do␈αnot␈αcount␈α
against␈αthe␈αwindow,␈αand␈α
are␈αnot        ␈↓ π∞␈↓acknowledgement␈α∃byte␈α∃should␈α∃still␈α∃be␈α∃used,
␈↓ ↓N␈↓remembered␈α∂for␈α∞retransmission␈α∂after␈α∂they␈α∞are     ␈↓ π∞␈↓otherwise␈α%an␈α%acknowledgement␈α%may␈α$be
␈↓ ↓N␈↓sent.␈α
 Therefore␈α
they␈α
are␈α
lost␈α
if␈α
an␈α
error␈α
occurs   ␈↓ π∞␈↓unnecessarily missed.
␈↓ ↓N␈↓while␈α⊗they␈α⊗are␈α⊗being␈α⊗transmitted.␈α⊗ This␈α⊗is
␈↓ ↓N␈↓because␈α~what␈α≠information␈α~they␈α≠convey␈α~is          ␈↓ π∞␈↓In␈α∨␈↓↓Dialnet␈↓,␈α∨the␈α∨window␈α∨is␈α∨␈↓↓optional␈↓;␈α≡in
␈↓ ↓N␈↓generally␈α
timing-critical;␈α
if␈α
the␈α
packet␈α
was␈αlost ␈↓ π∞␈↓particular,␈α∂an␈α∂implementation␈α∂which␈α∂uses␈α∂the
␈↓ ↓N␈↓nothing would be gained by sending it again.␈↓ π∞␈↓window␈α↔should␈α↔not␈α↔get␈α↔upset␈α_because␈α↔the
                                            ␈↓ π∞␈↓foreign␈α↔host␈α↔disobeys␈α↔it␈α↔(it␈α↔can␈α↔of␈α↔course
␈↓ ↓N␈↓If␈α
the␈α
sender␈α∞intends␈α
to␈α
temporarily␈α∞"go␈α
idle",    ␈↓ π∞␈↓neglect␈α∪to␈α∪acknowledge␈α∪packets␈α∀which␈α∪cause
␈↓ ↓N␈↓αBasic line protocol␈↓ ¬←Host-Host Protocol␈↓ ←8


␈↓ ↓N␈↓data␈α⊂overruns␈α∂and␈α⊂force␈α∂them␈α⊂to␈α⊂be␈α∂re-sent).       ␈↓ π∞␈↓"data␈α→size"␈α→≡eld␈α→in␈α→the␈α→packet␈α→header␈α→is
␈↓ ↓N␈↓However,␈α
any␈α∞implementation␈α
which␈α∞is␈α
trying      ␈↓ π∞␈↓actually ␈↓↓one less␈↓ than the actual data size.
␈↓ ↓N␈↓to␈αbe␈αreasonably␈αe≠cient␈αshould␈αdo␈αsomething
␈↓ ↓N␈↓about␈α≤handling␈α≤windows␈α≤and␈α≤telling␈α≤the           ␈↓ π∞␈↓The␈αmotivation␈α
for␈αthis␈α
is␈αthat␈α
a␈αpower␈αof␈α
two
␈↓ ↓N␈↓foreign␈α∂host␈α∂what␈α∂sort␈α∂of␈α∂window␈α∂size␈α∂it␈α∞can        ␈↓ π∞␈↓is␈α↔a␈α⊗convenient␈α↔unit␈α⊗of␈α↔storage␈α↔for␈α⊗many
␈↓ ↓N␈↓live with.                                  ␈↓ π∞␈↓systems.␈α∪ In␈α∪addition,␈α∀many␈α∪implementations
                                            ␈↓ π∞␈↓will␈α≡nd␈αit␈αconvenient␈αto␈αpack␈αfour␈α
data␈αbytes
␈↓ ↓N␈↓There␈α→is␈α→no␈α→o≠cial␈α→timeout␈α→for␈α→deciding           ␈↓ π∞␈↓in␈α∂a␈α∂single␈α∂storage␈α∂word.␈α∂ With␈α∂framing␈α∞and
␈↓ ↓N␈↓whether␈α⊃a␈α⊃host␈α∩is␈α⊃still␈α⊃alive␈α⊃or␈α∩whether␈α⊃the        ␈↓ π∞␈↓DLE␈α⊃doubling␈α⊃stripped,␈α⊃this␈α⊃means␈α⊃that␈α⊂the
␈↓ ↓N␈↓phone␈α≠connection␈α≤is␈α≠poor␈α≠enough␈α≤to␈α≠be             ␈↓ π∞␈↓packet␈α↔header␈α↔will␈α↔be␈α↔exactly␈α_one␈α↔storage
␈↓ ↓N␈↓unusable.␈α≠ Each␈α≠implementor␈α≤must␈α≠decide         ␈↓ π∞␈↓word,␈α⊗and␈α⊗the␈α⊗data␈α⊗part␈α⊗will␈α⊗begin␈α⊗on␈α∃a
␈↓ ↓N␈↓these for him/herself.                      ␈↓ π∞␈↓storage␈α
word␈αboundary.␈α
 In␈αaddition,␈α
the␈αdata
                                            ␈↓ π∞␈↓part␈α∂of␈α∂a␈α∂maximum-size␈α∂packet␈α∂will␈α∂also␈α∂end
␈↓ ↓N␈↓The␈α∩packet␈α∩checksum␈α⊃algorithm␈α∩used␈α∩is␈α⊃the         ␈↓ π∞␈↓on␈α∀a␈α∀storage␈α∃word.␈α∀ This␈α∀is␈α∃signi≡cant␈α∀for
␈↓ ↓N␈↓result␈α∀of␈α∃a␈α∀conversation␈α∀with␈α∃Knuth.␈α∀ The         ␈↓ π∞␈↓many␈αsystems␈αin␈αterms␈αof␈αbu≥ering;␈αwhether␈αa
␈↓ ↓N␈↓checksum␈αis␈α16.␈αbits␈αlong␈αand␈αall␈αof␈αthe␈αpacket      ␈↓ π∞␈↓byte-by-byte␈α∩copy␈α∪must␈α∩be␈α∪done␈α∩or␈α∪a␈α∩faster
␈↓ ↓N␈↓header␈α
variables␈α∞and␈α
the␈α∞entire␈α
data␈α∞area.␈α
 It     ␈↓ π∞␈↓word␈α∩transfer.␈α∩ The␈α∩PDP-10␈α∩implementation
␈↓ ↓N␈↓does␈α⊃NOT␈α⊃include␈α⊃the␈α⊃packet␈α⊃trailer␈α⊃or␈α⊃the         ␈↓ π∞␈↓at␈α Stanford␈α exploits␈α this;␈α!an␈α IBM-style
␈↓ ↓N␈↓SOP/EOP␈α∩packet␈α⊃framing␈α∩codes.␈α∩ Note␈α⊃that         ␈↓ π∞␈↓machine can derive similar bene≡t.
␈↓ ↓N␈↓framing␈α∩checks␈α∩happen␈α∩␈↓↓before␈↓␈α∪the␈α∩checksum
␈↓ ↓N␈↓check.                                      ␈↓ π∞␈↓In␈α⊂the␈α⊂CLS,␈α∂NAK,␈α⊂EOF,␈α⊂and␈α⊂INT␈α∂op-codes
                                            ␈↓ π∞␈↓the␈α⊃data␈α⊃byte␈α∩is␈α⊃meaningless␈α⊃and␈α∩should␈α⊃be
␈↓ ↓N␈↓The␈αalgorithm␈αis:␈α(all␈αnumbers␈αshould␈αbe␈αread      ␈↓ π∞␈↓ignored,␈α↔however,␈α↔it␈α↔still␈α↔must␈α↔be␈α⊗present.
␈↓ ↓N␈↓as octal)                                   ␈↓ π∞␈↓Additionally,␈α∞this␈α
byte␈α∞should␈α
always␈α∞be␈α
zero,
                                            ␈↓ π∞␈↓to␈α
allow␈α
these␈α
op␈α
codes␈α
to␈α
have␈α∞a␈α
meaningful
␈↓ ↓N␈↓␈↓ ↓nchecksum := 1;                              ␈↓ π∞␈↓data part in a future revision of the protocol.
␈↓ ↓N␈↓␈↓ ↓nwhile newchar do checksum := (checksum *
␈↓ ↓N␈↓␈↓ αn013215 + newchar) & 177777;                 ␈↓ π∞␈↓There␈α
are␈α
no␈α
restrictions␈α
on␈α
the␈α
size␈αor␈α
content
                                            ␈↓ π∞␈↓of␈α
the␈αdata␈α
part␈αof␈α
a␈αNOP␈α
packet,␈α
except␈αthe
␈↓ ↓N␈↓In PDP-10 assembly code, this would be:     ␈↓ π∞␈↓packet␈α↔structure␈α↔restriction␈α↔that␈α⊗1≤size≤256.
                                            ␈↓ π∞␈↓Since,␈α∪however,␈α∪the␈α∪data␈α∪is␈α∪ignored␈α∀by␈α∪the
␈↓ ↓N␈↓
; CHKBYT adds a byte to the checksum        ␈↓ π∞␈↓receiver,␈α
a␈α
NOP␈α
packet␈α
would␈α
generally␈α
have
␈↓ ↓N␈↓
in SUM.                                     ␈↓ π∞␈↓a␈α⊃one-byte␈α⊃data␈α⊂part,␈α⊃although␈α⊃some␈α⊂systems
␈↓ ↓N␈↓
; At the beginning of each packet SUM       ␈↓ π∞␈↓might␈α∞want␈α∞to␈α∞pad␈α∞to␈α∞4␈α∞data␈α∞bytes␈α∞(note␈α
that
␈↓ ↓N␈↓
is                                          ␈↓ π∞␈↓this␈α
means␈α
the␈α∞size␈α
≡eld␈α
in␈α
the␈α∞packet␈α
header
␈↓ ↓N␈↓
; initialized to 1.                         ␈↓ π∞␈↓is 3!) to keep things on word boundaries.
␈↓ ↓N␈↓
; Call: MOVE CHR,<byte from data
␈↓ ↓N␈↓
stream>
␈↓ ↓N␈↓
;       PUSHJ P,CHKBYT
␈↓ ↓N␈↓
;       <return>
␈↓ ↓N␈↓
CHKBYT: IMULI SUM,013215
␈↓ ↓N␈↓
        ADDI SUM,(CHR)
␈↓ ↓N␈↓
        ANDI SUM,177777
␈↓ ↓N␈↓
        POPJ P,

␈↓ ↓N␈↓There␈α
is␈αalways␈α
at␈αleast␈α
one␈αword␈α
in␈α
the␈αdata
␈↓ ↓N␈↓part␈α∞of␈α∞the␈α∞packet.␈α
 The␈α∞data␈α∞part␈α∞size␈α
refers
␈↓ ↓N␈↓to␈αthe␈αnumber␈αof␈α␈↓↓additional␈↓␈αwords␈αin␈αthe␈αdata
␈↓ ↓N␈↓part.␈α⊂ Hence␈α⊂the␈α⊂data␈α⊂part␈α⊂can␈α⊂be␈α⊂␈↓↓from␈α⊂1␈α⊂to
␈↓ ↓N␈↓↓256␈↓␈α∪data␈α∪bytes␈α∪long.␈α∪ This␈α∪means␈α∀that␈α∪the
␈↓ ↓N␈↓αBasic line protocol␈↓ ¬←Host-Host Protocol␈↓ `9


␈↓ ↓N␈↓α␈↓ β≠Packet Format                               ␈↓ π∞␈↓001     RPC (Request Process Connection)
␈↓ ↓N␈↓
␈↓ ↓↑____________________________________        ␈↓ π∞␈↓␈↓ π.(optional) 8 bytes of process ID
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |        ␈↓ π∞␈↓␈↓ π.(optional) 1 byte of initial window size
␈↓ ↓N␈↓
␈↓ ↓↑| 2 bytes    SOP framing mark      |
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |        ␈↓ π∞␈↓This␈α⊂is␈α⊃the␈α⊂establish␈α⊃connection␈α⊂op␈α⊃code.␈α⊂ It
␈↓ ↓N␈↓
␈↓ ↓↑|==================================|        ␈↓ π∞␈↓serves␈α∞a␈α∞dual␈α∞purpose;␈α∞to␈α∞request␈α
establishing
␈↓ ↓N␈↓
␈↓ ↓↑|    Channel     |    Op Code      |        ␈↓ π∞␈↓a␈α∪connection,␈α∀and␈α∪to␈α∪con≡rm␈α∀establishing␈α∪a
␈↓ ↓N␈↓
␈↓ ↓↑|    (4 bits)    |    (4 bits)     |        ␈↓ π∞␈↓connection.␈α∪ In␈α∪the␈α∪≡rst␈α∪case,␈α∪the␈α∪data␈α∪area
␈↓ ↓N␈↓
␈↓ ↓↑|________________|_________________|        ␈↓ π∞␈↓contains␈α∃an␈α∃8.-byte␈α∀␈↓↓process␈α∃ID␈↓,␈α∃which␈α∃is␈α∀a
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |        ␈↓ π∞␈↓handle␈α
to␈αthe␈α
remote␈αprocess␈α
the␈αsender␈α
wishes
␈↓ ↓N␈↓
␈↓ ↓↑| 1 byte     Packet number         |        ␈↓ π∞␈↓to␈αconnect␈αto.␈α In␈αthe␈αlatter␈αcase,␈αno␈αprocess␈αID
␈↓ ↓N␈↓
␈↓ ↓↑|__________________________________|        ␈↓ π∞␈↓is␈α∃speci≡ed.␈α∀ A␈α∃single␈α∀byte␈α∃may␈α∃follow␈α∀the
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |        ␈↓ π∞␈↓process ID to specify an initial window size.
␈↓ ↓N␈↓
␈↓ ↓↑| 1 byte     Acknowledgement       |
␈↓ ↓N␈↓
␈↓ ↓↑|__________________________________|        ␈↓ π∞␈↓002     CLS (Close Connection)
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |
␈↓ ↓N␈↓
␈↓ ↓↑| 1 byte     Data size             |        ␈↓ π∞␈↓This␈α∂is␈α∂the␈α∂terminate␈α∂connection␈α∂op␈α∂code.␈α∂ It
␈↓ ↓N␈↓
␈↓ ↓↑|==================================|        ␈↓ π∞␈↓may␈αeither␈αterminate␈αan␈αexisting␈αconnection␈α
or
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |        ␈↓ π∞␈↓abort a request for one.
␈↓ ↓N␈↓
␈↓ ↓↑| 1 byte     Data word             |
␈↓ ↓N␈↓
␈↓ ↓↑|__________________________________|        ␈↓ π∞␈↓003     WIN (set WINdow size)
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |        ␈↓ π∞␈↓␈↓ π.1 byte of window size
␈↓ ↓N␈↓
␈↓ ↓↑| (specified                       |
␈↓ ↓N␈↓
␈↓ ↓↑|  by data   Additional data bytes |        ␈↓ π∞␈↓This␈αop␈αcode␈αsets␈αthe␈αinput␈αwindow␈αsize;␈αie,␈αit
␈↓ ↓N␈↓
␈↓ ↓↑|  size byte)                      |        ␈↓ π∞␈↓suggests␈α∂to␈α∂the␈α∂receiver␈α∂how␈α∂many␈α⊂packets␈α∂it
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |        ␈↓ π∞␈↓may␈α2send␈α2before␈α2waiting␈α3for␈α2an
␈↓ ↓N␈↓
␈↓ ↓↑|==================================|        ␈↓ π∞␈↓acknowledgement.␈α, The␈α,minimum␈α+(and
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |        ␈↓ π∞␈↓default)␈α≤window␈α≠size␈α≤is␈α≠2␈α≤packets.␈α≠ The
␈↓ ↓N␈↓
␈↓ ↓↑| 2 bytes    Packet checksum       |        ␈↓ π∞␈↓absolute␈α⊂maximum␈α⊂window␈α⊂is␈α⊃127.;␈α⊂however,
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |        ␈↓ π∞␈↓many␈α_systems␈α_may␈α_want␈α_to␈α_set␈α_a␈α↔smaller
␈↓ ↓N␈↓
␈↓ ↓↑|==================================|        ␈↓ π∞␈↓maximum␈α∩window.␈α⊃ At␈α∩Stanford,␈α∩the␈α⊃system
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |        ␈↓ π∞␈↓maximum is 16. packets.
␈↓ ↓N␈↓
␈↓ ↓↑| 2 bytes    EOP framing mark      |
␈↓ ↓N␈↓
␈↓ ↓↑|                                  |        ␈↓ π∞␈↓004     MSG (MeSsaGe)
␈↓ ↓N␈↓
␈↓ ↓↑|__________________________________|        ␈↓ π∞␈↓␈↓ π.0 to 256. bytes of data

                                            ␈↓ π∞␈↓This␈α⊂is␈α⊂the␈α⊂data␈α⊂transmission␈α⊂op␈α⊂code.␈α⊂ The
␈↓ ↓N␈↓α␈↓ αwHost-Host Op-Codes                          ␈↓ π∞␈↓contents␈α∩of␈α∩the␈α∩data␈α⊃part␈α∩are␈α∩passed␈α∩to␈α⊃the
                                            ␈↓ π∞␈↓tertiary process.
␈↓ ↓N␈↓In␈α∩the␈α⊃descriptions␈α∩below,␈α∩certain␈α⊃arguments
␈↓ ↓N␈↓are␈α∂passed␈α∂along␈α∞with␈α∂the␈α∂commands.␈α∞ These        ␈↓ π∞␈↓005     NAK (Negative AcKnowledgment)
␈↓ ↓N␈↓arguments␈α∩are␈α∪listed␈α∩in␈α∪the␈α∩order␈α∪in␈α∩which
␈↓ ↓N␈↓they␈α⊂occur,␈α∂along␈α⊂with␈α∂their␈α⊂byte␈α⊂size.␈α∂ They      ␈↓ π∞␈↓This␈α≠op␈α≠code␈α≠requests␈α≠that␈α≤the␈α≠receiver
␈↓ ↓N␈↓all occur in the DATA ≡eld of the packet.   ␈↓ π∞␈↓retransmit␈α∞all␈α∞unacknowledged␈α∞packets␈α∂that␈α∞it
                                            ␈↓ π∞␈↓sent.
␈↓ ↓N␈↓000     NOP (No-op)
                                            ␈↓ π∞␈↓006     EOF (End Of File)
␈↓ ↓N␈↓This␈αop␈αcode␈αis␈αa␈αno-operation␈αand␈αshould␈αbe
␈↓ ↓N␈↓ignored␈αby␈αthe␈αreceiver␈αexcept␈αthat␈αthe␈αpacket     ␈↓ π∞␈↓This␈α
op␈α
code␈α∞is␈α
used␈α
to␈α∞raise␈α
an␈α
"end␈α∞of␈α
≡le"
␈↓ ↓N␈↓still␈α∪has␈α∩to␈α∪be␈α∩acknowledged.␈α∪ It␈α∩is␈α∪used␈α∩to        ␈↓ π∞␈↓condition␈α∂on␈α∂a␈α∂particular␈α∂channel␈α∂to␈α∂indicate
␈↓ ↓N␈↓acknowledge␈α
a␈α
packet␈α
without␈α
doing␈αanything      ␈↓ π∞␈↓the end of a data stream.
␈↓ ↓N␈↓else.
␈↓ ↓N␈↓αBasic line protocol␈↓ ¬←Host-Host Protocol␈↓ T10


␈↓ ↓N␈↓007     INT (Interrupt)                     ␈↓ π∞␈↓host␈α→should␈α→return␈α→a␈α→CLS␈α→to␈α→refuse␈α_the
                                            ␈↓ π∞␈↓connection.
␈↓ ↓N␈↓This␈α⊂op␈α⊂code␈α⊂is␈α⊂used␈α⊂to␈α⊂raise␈α⊂an␈α∂"interrupt"
␈↓ ↓N␈↓condition␈α≠on␈α~a␈α≠particular␈α~channel.␈α≠ It␈α~is         ␈↓ π∞␈↓Otherwise,␈α∨S␈α accepts␈α∨the␈α connection␈α∨by
␈↓ ↓N␈↓intended␈α⊂that␈α⊂a␈α⊂user␈α⊂process␈α⊂be␈α⊂informed␈α⊂of        ␈↓ π∞␈↓sending␈α⊗an␈α⊗RPC␈α⊗back␈α⊗to␈α⊗U,␈α⊗with␈α↔a␈α⊗null
␈↓ ↓N␈↓the␈α⊂interrupt␈α⊃twice;␈α⊂when␈α⊃it␈α⊂is␈α⊃received,␈α⊂and      ␈↓ π∞␈↓process␈α∀ID.␈α∀ The␈α∀connection␈α∀has␈α∀now␈α∀been
␈↓ ↓N␈↓when␈αit␈αoccurs␈αin␈αthe␈αdata␈αstream␈α(the␈αlatter␈αis     ␈↓ π∞␈↓established,␈α⊂and␈α⊃the␈α⊂process␈α⊃ID␈α⊂is␈α⊃no␈α⊂longer
␈↓ ↓N␈↓to␈α indicate␈α the␈α end␈α of␈α!the␈α "interrupt"            ␈↓ π∞␈↓used␈α_by␈α→the␈α_host-host␈α_protocol.␈α→ The␈α_two
␈↓ ↓N␈↓condition).                                 ␈↓ π∞␈↓processes␈α∂may␈α∂now␈α∞pass␈α∂data␈α∂back␈α∂and␈α∞forth
                                            ␈↓ π∞␈↓using the various Host-Host op codes.
␈↓ ↓N␈↓010     ERR (Error)
␈↓ ↓N␈↓␈↓ ↓n0 to 256. bytes of ASCII error text         ␈↓ π∞␈↓When␈αa␈αhost␈αwishes␈αto␈αterminate␈αa␈α
connection,
                                            ␈↓ π∞␈↓it␈α∞sends␈α∂a␈α∞CLS.␈α∞ Once␈α∂a␈α∞CLS␈α∞has␈α∂been␈α∞sent,
␈↓ ↓N␈↓This␈α
op␈α
code␈α
is␈α
used␈α
to␈α
send␈α
a␈α
protocol␈αerror        ␈↓ π∞␈↓no␈αfurther␈α
MSG's␈αmay␈αbe␈α
sent␈αand␈α
any␈αMSG
␈↓ ↓N␈↓warning.␈α
 It␈αis␈α
intended␈α
that␈αa␈α
receiver␈αof␈α
such    ␈↓ π∞␈↓sent␈α∂should␈α⊂be␈α∂replied␈α∂to␈α⊂with␈α∂an␈α⊂ERR.␈α∂ Of
␈↓ ↓N␈↓a␈αwarning␈α
output␈αthe␈αcontents␈α
of␈αthe␈αdata␈α
part      ␈↓ π∞␈↓course,␈α⊂a␈α⊂new␈α⊂connection␈α⊂may␈α⊂be␈α⊂established
␈↓ ↓N␈↓of␈α⊃the␈α⊃message␈α⊃(which␈α⊃should␈α⊃be␈α∩an␈α⊃ASCII           ␈↓ π∞␈↓with␈α∪RPC.␈α∪ Breaking␈α∪the␈α∀phone␈α∪connection
␈↓ ↓N␈↓string)␈α↔on␈α↔a␈α↔logging␈α↔terminal␈α↔so␈α↔that␈α↔the          ␈↓ π∞␈↓implies terminating the connection.
␈↓ ↓N␈↓support␈α⊂sta≥␈α⊂can␈α⊂determine␈α⊂the␈α⊂cause␈α⊂of␈α⊂the
␈↓ ↓N␈↓problem␈α∂and␈α∂take␈α∂corrective␈α∂action.␈α∂ This␈α∂op      ␈↓ π∞␈↓When␈α#a␈α#connection␈α#is␈α#terminated,␈α"the
␈↓ ↓N␈↓code␈αshould␈αbe␈αused␈αjudiciously,␈αsince␈αneedless   ␈↓ π∞␈↓recepient␈α⊂of␈α⊂the␈α⊂CLS␈α∂should␈α⊂send␈α⊂a␈α⊂CLS␈α∂to
␈↓ ↓N␈↓usage would only defeat its purpose.        ␈↓ π∞␈↓con≡rm terminating the process.

␈↓ ↓N␈↓α␈↓ β+Connections␈↓ 
                                            ␈↓ π∞␈↓α␈↓ πB8.  Introduction to Tertiary Protocols
␈↓ ↓N␈↓In␈α
the␈α
discussion␈α
below,␈α
U␈α
refers␈α
to␈α
the␈α
process
␈↓ ↓N␈↓which␈α∃initially␈α⊗provoked␈α∃the␈α⊗connection␈α∃or       ␈↓ π∞␈↓All␈α
protocol␈α
communication␈α
in␈α
the␈α
higher␈α
level
␈↓ ↓N␈↓␈↓↓user␈↓,␈α∃S␈α⊗refers␈α∃to␈α⊗the␈α∃the␈α⊗process␈α∃passively        ␈↓ π∞␈↓Dialnet␈α⊂protocols␈α⊂(e.g.␈α⊂ MAIL,␈α⊂File␈α⊂Transfer)
␈↓ ↓N␈↓waiting for a connection or ␈↓↓server␈↓.         ␈↓ π∞␈↓uses␈αa␈αlist␈αformat␈αfor␈αmessages.␈α Each␈αmessage
                                            ␈↓ π∞␈↓therefore has the form
␈↓ ↓N␈↓Channel 0 is to be used for ICP.
                                            ␈↓ π∞␈↓(<identi≡er> <item> ... <item>)
␈↓ ↓N␈↓Following␈α≥the␈α≥establishment␈α≥of␈α≥a␈α≤dialup
␈↓ ↓N␈↓connection,␈α∞U␈α∞should␈α∞send␈α
a␈α∞few␈α∞NOP's␈α∞to␈α
S          ␈↓ π∞␈↓where␈α#the␈α#items␈α#themselves␈α#are␈α"either
␈↓ ↓N␈↓to␈αavoid␈αpossible␈α
problems␈αwith␈αdropped␈α
bytes     ␈↓ π∞␈↓identi≡ers␈α∩or␈α∩have␈α∩a␈α∩similar␈α∩structure.␈α∩ The
␈↓ ↓N␈↓while connecting.                           ␈↓ π∞␈↓object of this scheme is to ensure ∨exibility.

␈↓ ↓N␈↓U␈αmust␈αknow␈αthe␈αprocess␈αID␈αof␈αthe␈αS␈αit␈αwants          ␈↓ π∞␈↓Suppose,␈αfor␈αexample,␈αthat␈αone␈αof␈αthe␈αitems␈αin
␈↓ ↓N␈↓to␈α
connect␈α
to.␈α
 As␈αfar␈α
as␈α
Dialnet␈α
is␈αconcerned,     ␈↓ π∞␈↓a␈α∪protocol␈α∪message␈α∪designates␈α∪a␈α∀user␈α∪name.
␈↓ ↓N␈↓process␈α≠ID's␈α≠are␈α≠arbitrary␈α≤ASCII␈α≠strings.        ␈↓ π∞␈↓Initial␈α∩designs␈α∩of␈α∪Dialnet␈α∩may␈α∩allow␈α∪only␈α∩a
␈↓ ↓N␈↓However,␈α∩conventions␈α⊃have␈α∩been␈α⊃established      ␈↓ π∞␈↓character␈α∨string␈α∨without␈α∨parentheses␈α∨like
␈↓ ↓N␈↓as noted elsewhere.                         ␈↓ π∞␈↓SMITH␈α↔to␈α⊗designate␈α↔the␈α⊗user.␈α↔ Later␈α⊗this
                                            ␈↓ π∞␈↓might␈α∂be␈α⊂elaborated␈α∂to␈α⊂also␈α∂allow␈α⊂a␈α∂complex
␈↓ ↓N␈↓U␈α∞sends␈α∞an␈α∞RPC␈α∞with␈α
the␈α∞process␈α∞ID␈α∞at␈α∞S␈α
it            ␈↓ π∞␈↓designator␈α_like␈α_(SUCCESSOR␈α_SMITH)␈α↔to
␈↓ ↓N␈↓wants␈αto␈αconnect␈αto.␈α S␈αmay␈αhave␈αbeen␈αwaiting       ␈↓ π∞␈↓designate␈α the␈α person␈α who␈α has␈α∨replaced
␈↓ ↓N␈↓for␈α
a␈α
connection,␈α
or␈α
perhaps␈α
was␈α
created␈α
by␈α
S's     ␈↓ π∞␈↓SMITH in this job assignment.
␈↓ ↓N␈↓host␈α⊂as␈α⊂a␈α⊂result␈α⊃of␈α⊂the␈α⊂RPC.␈α⊂ If␈α⊂S␈α⊃does␈α⊂not
␈↓ ↓N␈↓exist␈α∀or␈α∪S's␈α∀host␈α∪is␈α∀unable␈α∪or␈α∀unwilling␈α∪to         ␈↓ π∞␈↓There␈αis␈αno␈αpresent␈αintention␈αthat␈α
the␈αDialnet
␈↓ ↓N␈↓make␈α⊂the␈α⊂connection␈α⊂at␈α⊂the␈α⊂present␈α⊃time,␈α⊂S's       ␈↓ π∞␈↓protocols␈α∞will␈α∞be␈α∞subject␈α∞to␈α∞rapid␈α
elaboration.
␈↓ ↓N␈↓αBasic line protocol␈↓ ∧wIntroduction to Tertiary Protocols␈↓ V11


␈↓ ↓N␈↓The␈α∩present␈α∩object␈α∩is␈α∩merely␈α∩to␈α∩build␈α⊃these
␈↓ ↓N␈↓protocols␈α⊃so␈α⊂that␈α⊃they␈α⊂will␈α⊃not␈α⊂be␈α⊃subject␈α⊂to
␈↓ ↓N␈↓blind␈αalleys.␈α
 Therefore,␈αthere␈α
are␈αno␈α≡xed␈α
size
␈↓ ↓N␈↓≡elds,␈αand␈α
item␈αthat␈α
is␈αinitially␈α
represented␈αby
␈↓ ↓N␈↓an␈α
atomic␈α
name␈αmay␈α
later␈α
be␈α
replaced␈αby␈α
some
␈↓ ↓N␈↓kind␈α∪of␈α∩expression,␈α∪and␈α∩new␈α∪terms␈α∪may␈α∩be
␈↓ ↓N␈↓adjoined␈αto␈αlists.␈α Thus␈αif␈αan␈αitem␈αis␈αpresently
␈↓ ↓N␈↓denoted␈α∩by␈α∪a␈α∩three␈α∪term␈α∩list,␈α∪an␈α∩elaborated
␈↓ ↓N␈↓protocol␈αmay␈αlater␈αcall␈αfor␈αa␈αfour␈αitem␈αlist,␈αbut
␈↓ ↓N␈↓if␈α
the␈α∞same␈α
initial␈α
identi≡er␈α∞is␈α
used,␈α∞it␈α
should
␈↓ ↓N␈↓still␈α∂be␈α⊂possible␈α∂for␈α∂a␈α⊂recipient␈α∂to␈α⊂ignore␈α∂the
␈↓ ↓N␈↓fourth item and still use the message.

␈↓ ↓N␈↓We␈α∩believe␈α∩that␈α∩these␈α∩conventions,␈α∩at␈α⊃slight
␈↓ ↓N␈↓cost␈α
in␈α
initial␈α
implementation,␈α
will␈αmake␈α
future
␈↓ ↓N␈↓improvements easy should they be required.
␈↓ ↓N␈↓α␈↓ ε↑␈↓ P12




␈↓ ↓N␈↓α␈↓ β+Appendix C                                  ␈↓ π∞␈↓Under␈α
request␈αfrom␈α
the␈αuser␈α
process,␈α
the␈αuser
␈↓ ↓N␈↓α␈↓ αoFile transfer protocol                      ␈↓ π∞␈↓program␈α↔establishes␈α↔a␈α↔connection␈α↔with␈α↔the
                                            ␈↓ π∞␈↓desired␈α∀server.␈α∀ Channel␈α∪0␈α∀is␈α∀employed␈α∪for
␈↓ ↓N␈↓↓␈↓ β∂by Ignacio Zabala                           ␈↓ π∞␈↓exchange␈α∩of␈α∪commands␈α∩and␈α∪replies␈α∩between
                                            ␈↓ π∞␈↓the␈α~user␈α~and␈α~server␈α~programs.␈α≠ When␈α~a
␈↓ ↓N␈↓The␈α∀␈↓↓File␈α∀Transfer␈α∀Protocol␈↓␈α∀(FTP)␈α∪provides        ␈↓ π∞␈↓connection␈α⊃is␈α⊃established,␈α⊃the␈α⊃server␈α∩sends␈α⊃a
␈↓ ↓N␈↓Dialnet␈α∃hosts␈α∃with␈α∃a␈α∃set␈α∃of␈α∃commands␈α∀for           ␈↓ π∞␈↓"reply"␈αconsisting␈αof␈α
a␈αgreeting␈αmessage␈α
(which
␈↓ ↓N␈↓transmission of ≡les among them.            ␈↓ π∞␈↓can␈α∩contain␈α∩anything,␈α∩such␈α∩as␈α∪system␈α∩name,
                                            ␈↓ π∞␈↓etc.).
␈↓ ↓N␈↓Because␈α⊃we␈α⊃count␈α⊃on␈α⊃quite␈α∩di≥erent␈α⊃systems
␈↓ ↓N␈↓using␈α∪Dialnet,␈α∪it␈α∪is␈α∪necessary␈α∪to␈α∪establish␈α∪a      ␈↓ π∞␈↓At␈α⊗this␈α⊗point␈α⊗both␈α⊗sites␈α⊗must␈α↔reach␈α⊗some
␈↓ ↓N␈↓small␈α∩set␈α∪of␈α∩essential␈α∩commands␈α∪and␈α∩replies       ␈↓ π∞␈↓agreement␈αabout␈αthe␈αcharacteristics␈αof␈αthe␈α∨ow
␈↓ ↓N␈↓that␈α
are␈α
implemented␈α∞by␈α
all␈α
of␈α
them␈α∞in␈α
order        ␈↓ π∞␈↓of␈α∞data␈α∞between␈α∂them␈α∞so␈α∞that␈α∂the␈α∞transferred
␈↓ ↓N␈↓to␈α∂make␈α⊂possible␈α∂the␈α⊂communication␈α∂between       ␈↓ π∞␈↓data␈α⊂is␈α⊂interpreted␈α⊂in␈α⊂the␈α⊂same␈α⊂way␈α⊃at␈α⊂both
␈↓ ↓N␈↓any␈α⊗two␈α⊗sites.␈α⊗ On␈α⊗top␈α⊗of␈α⊗this,␈α⊗additional         ␈↓ π∞␈↓ends␈α
of␈αthe␈α
connection.␈α
 This␈αis␈α
the␈αpurpose␈α
of
␈↓ ↓N␈↓commands␈α↔are␈α_de≡ned␈α↔that␈α_enchance␈α↔data           ␈↓ π∞␈↓the␈αDATA␈αcommand.␈α The␈αagreement␈αmay␈αbe
␈↓ ↓N␈↓transfer between two similar hosts.         ␈↓ π∞␈↓renegotiated␈α∪at␈α∪any␈α∪time␈α∪in␈α∪which␈α∀no␈α∪data
                                            ␈↓ π∞␈↓transmission␈α∀is␈α∀in␈α∀progress.␈α∀ The␈α∀user␈α∀may
␈↓ ↓N␈↓FTP␈α~commands␈α~consist␈α~of␈α~standard␈α~8-bit           ␈↓ π∞␈↓then␈α
issue␈α∞service␈α
requests␈α
thru␈α∞the␈α
command
␈↓ ↓N␈↓ASCII␈α⊂strings.␈α⊂ Any␈α⊂number␈α⊂appearing␈α⊃in␈α⊂a         ␈↓ π∞␈↓channel.
␈↓ ↓N␈↓command will always be decimal.

␈↓ ↓N␈↓The␈α⊂interactions␈α⊂between␈α⊂the␈α⊃various␈α⊂parties
␈↓ ↓N␈↓in␈α
an␈α∞FTP␈α
transaction␈α∞may␈α
be␈α∞best␈α
described
␈↓ ↓N␈↓by the following diagram:

              ␈↓ β.␈↓
            ________              ________
              ␈↓ β.␈↓
           |        |   Data     |        |
              ␈↓ β.␈↓
     ----->|(Output)|>---------->|(Input) |>--
              ␈↓ β.␈↓
     !     |        | Channel(1) |        |  !
              ␈↓ β.␈↓
     !     |        |            |        |  !
              ␈↓ β.␈↓
     !     |        |            |        |  !
              ␈↓ β.␈↓
     !     |        |  Command   |        |  !      _____
              ␈↓ β.␈↓
     !     | Server |<==========>| User   |<======>| User|
              ␈↓ β.␈↓
     !     | Process| Channel(0) | Process|  !     |_____|
              ␈↓ β.␈↓
     ∧     |        |            |        |  !
              ␈↓ β.␈↓
 ______    |        |            |        |  !    ________
              ␈↓ β.␈↓
| File |   |        |   Data     |        |  --->|  File  |
              ␈↓ β.␈↓
|System|<-<|(Input) |<----------<|(Output)|<----<| System |
              ␈↓ β.␈↓
|______|   |________| Channel(2) |________|      |________|
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ T13


␈↓ ↓N␈↓Data␈α↔is␈α↔transferred␈α↔on␈α↔the␈α_data␈α↔channels.         ␈↓ π∞␈↓choice␈α∀as␈α∀to␈α∀the␈α∀amount␈α∀of␈α∀information␈α∪to
␈↓ ↓N␈↓When␈αthe␈αserver␈αreceives␈αa␈αrequest␈αto␈αretrieve     ␈↓ π∞␈↓return in a reply.
␈↓ ↓N␈↓a␈α→≡le,␈α→it␈α_tries␈α→to␈α→obtain␈α_the␈α→≡le␈α→and,␈α_if
␈↓ ↓N␈↓everything␈αgoes␈αright,␈αit␈αsends␈αa␈αpositive␈αreply   ␈↓ π∞␈↓The replies are:
␈↓ ↓N␈↓on␈α∂channel␈α∂0␈α∂and␈α∞starts␈α∂sending␈α∂the␈α∂data␈α∞on
␈↓ ↓N␈↓channel␈α1.␈α Upon␈αreceipt␈αof␈αthe␈αreply,␈αthe␈αuser     ␈↓ π∞␈↓␈↓ π.␈↓↓(OK (<optional-text>))␈↓
␈↓ ↓N␈↓will␈α∂start␈α∂taking␈α∂packets␈α∂from␈α∂channel␈α⊂1␈α∂and
␈↓ ↓N␈↓will␈αeventually␈αstore␈αthe␈αdata␈αin␈αits␈α≡le␈αsystem.   ␈↓ π∞␈↓␈↓ π.The␈α∞command␈α∞has␈α
been␈α∞accepted␈α∞as␈α
issued
␈↓ ↓N␈↓When␈α~a␈α≠store␈α~or␈α~append␈α≠operations␈α~are             ␈↓ π∞␈↓␈↓ λ∞and␈α∞will␈α∞cause␈α
the␈α∞desired␈α∞e≥ect.␈α
 If
␈↓ ↓N␈↓requested␈α⊃it␈α⊃is␈α⊃the␈α⊃user␈α⊃program␈α⊃which␈α⊃gets        ␈↓ π∞␈↓␈↓ λ∞the␈α∀command␈α∪requires␈α∀two␈α∪replies,
␈↓ ↓N␈↓the␈α≡le␈αand␈αsends␈αit␈αto␈αthe␈αserver␈αthru␈α
channel      ␈↓ π∞␈↓␈↓ λ∞this is the primary positive reply.
␈↓ ↓N␈↓2.␈α
 After␈αthe␈α
request,␈αthe␈α
server␈αis␈α
listening␈αto
␈↓ ↓N␈↓this␈α∂channel␈α⊂and␈α∂when␈α⊂the␈α∂packets␈α⊂arrive,␈α∂it       ␈↓ π∞␈↓␈↓ π.␈↓↓(DONE (<optional-text>))␈↓
␈↓ ↓N␈↓will store the data in its ≡le system.
                                            ␈↓ π∞␈↓␈↓ π.This␈α⊗is␈α⊗the␈α↔secondary␈α⊗reply␈α⊗for␈α↔a␈α⊗data
␈↓ ↓N␈↓Data␈αtransmission␈αis␈αterminated␈αby␈αany␈α
of␈αthe      ␈↓ π∞␈↓␈↓ λ∞transfer␈α→command␈α→whose␈α→primary
␈↓ ↓N␈↓following reasons:                          ␈↓ π∞␈↓␈↓ λ∞reply␈α∞was␈α∞positive.␈α∞ It␈α∞indicates␈α∞that
                                            ␈↓ π∞␈↓␈↓ λ∞the data transfer is ≡nished.
␈↓ ↓N␈↓-␈α∪The␈α∪receiver␈α∪gets␈α∪an␈α∪end␈α∪of␈α∪≡le␈α∀on␈α∪that
␈↓ ↓N␈↓␈↓ ↓nchannel.␈α
 This␈α
is␈α
the␈α
normal␈αtermination␈α
for      ␈↓ π∞␈↓␈↓ π.␈↓↓(BUSY (<optional-text>))␈↓
␈↓ ↓N␈↓␈↓ ↓na successful data transfer.
                                            ␈↓ π∞␈↓␈↓ π.The␈αserver␈αcannot␈αattend␈αthe␈αrequest␈αbut␈αif
␈↓ ↓N␈↓-␈α⊃An␈α⊂interrupt␈α⊃has␈α⊃been␈α⊂issued␈α⊃on␈α⊃the␈α⊂data          ␈↓ π∞␈↓␈↓ λ∞you␈α∪keep␈α∀trying␈α∪it␈α∀may␈α∪eventually
␈↓ ↓N␈↓␈↓ ↓nchannel.␈α⊃ Any␈α⊃data␈α⊃previously␈α⊃received␈α⊂in        ␈↓ π∞␈↓␈↓ λ∞give you the service.
␈↓ ↓N␈↓␈↓ ↓nthat transmission is discarded.
                                            ␈↓ π∞␈↓␈↓ π.␈↓↓(FAILED (<optional-text>))␈↓
␈↓ ↓N␈↓-␈α~The␈α~command␈α~channel␈α~is␈α~closed.␈α→ The
␈↓ ↓N␈↓␈↓ ↓ncommand␈α∀channel␈α∃may␈α∀be␈α∀closed␈α∃by␈α∀the              ␈↓ π∞␈↓␈↓ π.You␈α∩are␈α∩losing␈α∩with␈α∩this␈α∪command.␈α∩ The
␈↓ ↓N␈↓␈↓ ↓nserver␈αat␈αany␈α
time,␈αbut␈αit␈α
will␈αtypically␈αdo␈α
so      ␈↓ π∞␈↓␈↓ λ∞argument will tell the reason.
␈↓ ↓N␈↓␈↓ ↓nonly␈α
after␈αa␈α
request␈αfrom␈α
the␈αuser␈α
who␈αwill
␈↓ ↓N␈↓␈↓ ↓nsend␈α≠it␈α≠when␈α≠≡nished␈α≠using␈α≠the␈α~FTP                ␈↓ π∞␈↓α␈↓ λ
Access Control Commands␈↓ 
␈↓ ↓N␈↓␈↓ ↓nservice.
                                            ␈↓ π∞␈↓The␈α
following␈α
commands␈α
specify␈αaccess␈α
control
␈↓ ↓N␈↓α␈↓ β*FTP Replies␈↓                                 ␈↓ π∞␈↓identi≡ers.␈α∂ Some␈α∂sites␈α∞may␈α∂not␈α∂require␈α∞them,
                                            ␈↓ π∞␈↓but␈α⊃if␈α⊃issued␈α⊂they␈α⊃should␈α⊃be␈α⊃correct.␈α⊂ When
␈↓ ↓N␈↓The␈α∂following␈α∂pages␈α∞contain␈α∂a␈α∂description␈α∞of      ␈↓ π∞␈↓needed␈α∃it␈α⊗is␈α∃the␈α⊗responsibility␈α∃of␈α⊗the␈α∃user
␈↓ ↓N␈↓the␈α∩commands␈α∩available␈α∩in␈α∩the␈α∩Dialnet␈α∩File        ␈↓ π∞␈↓program␈α
to␈α
make␈α
sure␈α
that␈α
they␈α
arrive␈α
in␈α
the
␈↓ ↓N␈↓Transfer␈α⊃Protocol␈α⊃and␈α⊃the␈α⊃corresponding␈α⊂set      ␈↓ π∞␈↓correct␈α⊗order.␈α⊗ Because␈α⊗the␈α⊗server␈α↔has␈α⊗the
␈↓ ↓N␈↓of replies.                                 ␈↓ π∞␈↓faculty␈α∞to␈α∞close␈α∂the␈α∞connection␈α∞at␈α∞any␈α∂time,␈α∞it
                                            ␈↓ π∞␈↓may␈αvery␈αwell␈αdo␈αso␈αafter␈α
several␈αunsuccessful
␈↓ ↓N␈↓It␈α≤is␈α≤strongly␈α≠recommended␈α≤that␈α≤␈↓↓all␈↓␈α≠the           ␈↓ π∞␈↓log-in trials.
␈↓ ↓N␈↓commands␈α∪be␈α∪implemented,␈α∪although␈α∪clearly
␈↓ ↓N␈↓not all have the same importance.           ␈↓ π∞␈↓I.      (USER <user-id>)

␈↓ ↓N␈↓There␈α
are␈α∞only␈α
four␈α∞possible␈α
replies.␈α∞ In␈α
each     ␈↓ π∞␈↓With␈αthis␈αcommand␈αthe␈αuser␈αidenti≡es␈αhimself
␈↓ ↓N␈↓of␈αthem␈αthe␈α≡rst␈αitem␈αidenti≡es␈αthe␈αreply.␈α The     ␈↓ π∞␈↓to␈α
the␈αserver␈α
so␈α
that␈αit␈α
is␈αgranted␈α
access␈α
to␈αits
␈↓ ↓N␈↓second␈α⊂item␈α∂is␈α⊂a␈α⊂list␈α∂which␈α⊂contains␈α⊂a␈α∂string       ␈↓ π∞␈↓≡le␈α↔system.␈α↔ Some␈α↔sites␈α↔might␈α↔require␈α⊗this
␈↓ ↓N␈↓which␈α∀in␈α∀most␈α∃cases␈α∀is␈α∀passed␈α∀to␈α∃the␈α∀user           ␈↓ π∞␈↓command␈α∩to␈α⊃be␈α∩the␈α⊃≡rst␈α∩command␈α∩thru␈α⊃the
␈↓ ↓N␈↓without␈α∞further␈α∞processing.␈α∞ Hence,␈α∞there␈α∞is␈α∞a    ␈↓ π∞␈↓connection␈α∂and␈α∂may␈α∂even␈α∂require␈α⊂a␈α∂complete
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ Q14


␈↓ ↓N␈↓log-in␈α∪sequence␈α∪with␈α∪a␈α∪password␈α∪and/or␈α∩an         ␈↓ π∞␈↓III.    (ACCOUNT <account>)
␈↓ ↓N␈↓account␈α
number.␈α
 A␈α
new␈α
USER␈α
command␈α
may
␈↓ ↓N␈↓be␈αsent␈αat␈αany␈αtime,␈αin␈αwhich␈αthere␈αis␈αno␈αdata        ␈↓ π∞␈↓The␈αargument␈α
is␈αa␈α
string␈αidentifying␈αthe␈α
user's
␈↓ ↓N␈↓transmission,␈α→to␈α→change␈α→the␈α~access␈α→control       ␈↓ π∞␈↓account.
␈↓ ↓N␈↓and/or␈α"accounting␈α"information.␈α! Transfer
␈↓ ↓N␈↓parameters are unchanged by this command.   ␈↓ π∞␈↓Replies:

␈↓ ↓N␈↓Replies:                                    ␈↓ π∞␈↓␈↓ π.␈↓↓(OK)␈↓

␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK)␈↓                                        ␈↓ π∞␈↓␈↓ π.Even␈α
if␈α
the␈α
server␈α
has␈α
no␈α
accounting␈α
service
                                            ␈↓ π∞␈↓␈↓ λ∞this␈α⊂reply␈α⊂should␈α⊂be␈α⊂sent␈α⊂in␈α⊂case␈α∂a
␈↓ ↓N␈↓␈↓ ↓nThe␈α∩user␈α∩has␈α∩successfully␈α∩logged␈α∩into␈α⊃the         ␈↓ π∞␈↓␈↓ λ∞≡xed␈α∩sequence␈α∪has␈α∩been␈α∪issued␈α∩by
␈↓ ↓N␈↓␈↓ αNforeign␈α#host.␈α# No␈α$password␈α#is                   ␈↓ π∞␈↓␈↓ λ∞the user.
␈↓ ↓N␈↓␈↓ αNrequired.
                                            ␈↓ π∞␈↓␈↓ π.␈↓↓(FAILED (<reason>))␈↓
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK (PASSWORD?))␈↓

␈↓ ↓N␈↓␈↓ ↓nThe␈α⊃<user-id>␈α∩was␈α⊃accepted␈α⊃but␈α∩a␈α⊃correct          ␈↓ π∞␈↓IV.     (BYE)
␈↓ ↓N␈↓␈↓ αNpassword␈αis␈αrequired␈αto␈αcontinue␈αthe
␈↓ ↓N␈↓␈↓ αNlog-in process.                             ␈↓ π∞␈↓The␈αuser␈αsends␈α
this␈αmessage␈αbefore␈αclosing␈α
the
                                            ␈↓ π∞␈↓connection, to say it is going away.
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(BUSY (<reason>))␈↓
                                            ␈↓ π∞␈↓Replies:
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(FAILED (<reason>))␈↓
                                            ␈↓ π∞␈↓␈↓ π.␈↓↓(OK)␈↓

␈↓ ↓N␈↓II.     (PASSWORD <password>)               ␈↓ π∞␈↓α␈↓ λ(The DATA Command␈↓ 

␈↓ ↓N␈↓The␈α
argument␈α
is␈α
a␈α
character␈α
string␈α
specifying     ␈↓ π∞␈↓V.      (DATA <byte-size> <type> <structure>)
␈↓ ↓N␈↓the user's password.
                                            ␈↓ π∞␈↓The␈α∩systems␈α∩that␈α⊃communicate␈α∩by␈α∩means␈α⊃of
␈↓ ↓N␈↓Replies:                                    ␈↓ π∞␈↓Dialnet␈α∨may␈α∨have␈α∨di≥erent␈α∨word␈α≡(byte)
                                            ␈↓ π∞␈↓lengths,␈α⊂employ␈α⊂di≥erent␈α⊂data␈α∂representations
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK)␈↓                                        ␈↓ π∞␈↓and␈α⊗structure␈α⊗their␈α⊗stored␈α⊗data␈α⊗in␈α∃various
                                            ␈↓ π∞␈↓ways.␈α∂ To␈α∂solve␈α∂this␈α∂problem␈α∂we␈α∂de≡ne␈α∞some
␈↓ ↓N␈↓␈↓ ↓nUser log-in completed.                      ␈↓ π∞␈↓standard␈α∪default␈α∩values␈α∪of␈α∪these␈α∩parameters
                                            ␈↓ π∞␈↓and␈α⊂employ␈α⊂the␈α⊂DATA␈α⊂command␈α⊂to␈α⊂change
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK (ACCOUNT?))␈↓                             ␈↓ π∞␈↓them␈α
in␈α∞cases␈α
in␈α
which␈α∞the␈α
standards␈α∞are␈α
not
                                            ␈↓ π∞␈↓adequate.␈α& All␈α&users␈α&of␈α'Dialnet␈α&must
␈↓ ↓N␈↓␈↓ ↓nThe␈α≤<password>␈α≤was␈α≤accepted␈α≥but␈α≤an               ␈↓ π∞␈↓implement␈α∂the␈α∂defaults,␈α∂that␈α∂is,␈α∂they␈α∂must␈α∂be
␈↓ ↓N␈↓␈↓ αNaccount␈α∪speci≡cation␈α∪is␈α∪required␈α∩to             ␈↓ π∞␈↓able␈α∂to␈α∂send␈α⊂and␈α∂receive␈α∂meaningful␈α⊂data␈α∂in
␈↓ ↓N␈↓␈↓ αNcontinue the log-in process.                ␈↓ π∞␈↓contiguous␈α
logical␈α
units␈α
of␈α
8␈α
bits,␈α
which␈αcan␈α
be
                                            ␈↓ π∞␈↓interpreted␈α
as␈α
standard␈α
ASCII␈α
characters␈α
and
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(FAILED (<reason>))␈↓                         ␈↓ π∞␈↓are␈α
always␈α
transferred␈α
in␈α
groups␈α∞delimited␈α
by
                                            ␈↓ π∞␈↓end-of-≡le characters.

                                            ␈↓ π∞␈↓When␈α∃a␈α∃connection␈α∀is␈α∃≡rst␈α∃established,␈α∀the
                                            ␈↓ π∞␈↓server␈αwill␈αassume␈αthat␈αthe␈αdefault␈α
values␈αwill
                                            ␈↓ π∞␈↓be␈α∩used␈α∪and␈α∩will␈α∩be␈α∪prepared␈α∩to␈α∪make␈α∩the
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ S15


␈↓ ↓N␈↓necessary␈α∩data␈α∩conversions␈α∩from␈α∩his␈α∩own␈α∩to        ␈↓ π∞␈↓␈↓ πNFILE␈α∃File␈α∃(no␈α∃internal␈α∃structure).␈α∃The
␈↓ ↓N␈↓the␈α
default␈α
form␈α
when␈α
sending,␈α
and␈α
from␈α
the        ␈↓ π∞␈↓␈↓ λ.end␈αof␈αa␈α≡le␈αis␈αmarked␈αby␈αan␈αend-
␈↓ ↓N␈↓default to its own when receiving.          ␈↓ π∞␈↓␈↓ λ.of-≡le packet.

␈↓ ↓N␈↓Often␈α∨user␈α and␈α∨server␈α∨will␈α be␈α∨similar             ␈↓ π∞␈↓␈↓ πNRECORD␈α≥The␈α≡data␈α≥is␈α≡grouped␈α≥in
␈↓ ↓N␈↓machines␈α_and␈α_converting␈α_the␈α_data␈α_to␈α_the           ␈↓ π∞␈↓␈↓ λ.records␈α
delimited␈α
by␈α
an␈α
EOR␈α
(end
␈↓ ↓N␈↓standard␈α⊗default␈α⊗form␈α⊗will␈α⊗be␈α∃unnecessary.       ␈↓ π∞␈↓␈↓ λ.of␈α∂record)␈α∂marker.␈α∞At␈α∂the␈α∂end␈α∞of
␈↓ ↓N␈↓The␈α∩DATA␈α∩command␈α∪allows␈α∩a␈α∩user␈α∪to␈α∩tell             ␈↓ π∞␈↓␈↓ λ.the␈α~≡le␈α→there␈α~is␈α~an␈α→end-of-≡le
␈↓ ↓N␈↓which␈α⊂are␈α⊂the␈α⊃parameters␈α⊂that␈α⊂he␈α⊃wants␈α⊂the         ␈↓ π∞␈↓␈↓ λ.packet after the last EOR.
␈↓ ↓N␈↓server␈α∃to␈α∃employ␈α∃on␈α∃the␈α∃data␈α∃in␈α∃order␈α∃to
␈↓ ↓N␈↓minimize␈α∞the␈α∞user's␈α∞data␈α∞conversion␈α∞e≥ort.␈α
 It    ␈↓ π∞␈↓If␈αa␈αsite␈αreceives␈αand␈αstores␈αa␈α≡le␈αwhile␈αcertain
␈↓ ↓N␈↓can␈α
be␈α
issued␈α
as␈αmany␈α
times␈α
as␈α
desired␈αbut␈α
not       ␈↓ π∞␈↓parameter␈α~values␈α~are␈α~active␈α~and␈α~is␈α~later
␈↓ ↓N␈↓during␈α
a␈α
data␈αtransmission.␈α
 Of␈α
course,␈α
it␈αcan     ␈↓ π∞␈↓requested␈α∩to␈α⊃return␈α∩that␈α⊃≡le␈α∩using␈α∩the␈α⊃same
␈↓ ↓N␈↓also␈α
be␈αused␈α
to␈αreturn␈α
to␈αthe␈α
standard␈αdefault      ␈↓ π∞␈↓values,␈αthe␈αinput␈α
and␈αoutput␈αcopies␈α
should␈αbe
␈↓ ↓N␈↓form.                                       ␈↓ π∞␈↓identical.␈α→Also␈α→we␈α→must␈α→require␈α→that␈α→any
                                            ␈↓ π∞␈↓transformation␈α∩su≥ered␈α∩by␈α∩a␈α∩≡le␈α∩during␈α⊃the
␈↓ ↓N␈↓All␈α~the␈α→arguments␈α~should␈α→be␈α~given,␈α→and            ␈↓ π∞␈↓process␈α
of␈α
storing␈α
it␈αdo␈α
not␈α
a≥ect␈α
the␈αcontents
␈↓ ↓N␈↓precisely␈α⊃in␈α∩the␈α⊃speci≡ed␈α⊃order.␈α∩ They␈α⊃stand      ␈↓ π∞␈↓of that ≡le if output in another form.
␈↓ ↓N␈↓for:
                                            ␈↓ π∞␈↓Replies:
␈↓ ↓N␈↓␈↓ ↓n<byte-size>␈α∂is␈α∂a␈α∂decimal␈α∂number␈α∂specifying
␈↓ ↓N␈↓␈↓ αNthe␈α_desired␈α_logical␈α_byte␈α→size,␈α_i.e.,             ␈↓ π∞␈↓␈↓ π.␈↓↓(OK)␈↓
␈↓ ↓N␈↓␈↓ αNstarting␈αwith␈αthe␈α≡rst␈αbit␈αtransmitted
␈↓ ↓N␈↓␈↓ αNon␈α∀the␈α∀data␈α∀channel,␈α∀every␈α∪<byte-                ␈↓ π∞␈↓␈↓ π.Good, the server agrees.
␈↓ ↓N␈↓␈↓ αNsize>␈α
bits␈αare␈α
a␈αcomplete␈α
entity.␈αThe
␈↓ ↓N␈↓␈↓ αNdefault byte size is 8.                     ␈↓ π∞␈↓␈↓ π.␈↓↓(BUSY (<reason>))␈↓

␈↓ ↓N␈↓␈↓ ↓n<type> may be:                              ␈↓ π∞␈↓␈↓ π.You␈α
are␈α
not␈α
allowed␈α
to␈α
change␈α
the␈αtransfer
                                            ␈↓ π∞␈↓␈↓ λ∞parameters now.
␈↓ ↓N␈↓␈↓ α∞ASCII Data consist of a sequence of
␈↓ ↓N␈↓␈↓ αncontiguous standard 8-bit ASCII             ␈↓ π∞␈↓␈↓ π.␈↓↓(FAILED (<reason>))␈↓
␈↓ ↓N␈↓␈↓ αncharacters. The end of a line of
␈↓ ↓N␈↓␈↓ αntext is denoted by a sequence               ␈↓ π∞␈↓␈↓ π.The␈α
server␈α
may␈α
not␈α
have␈α
implemented␈α
one
␈↓ ↓N␈↓␈↓ αn<CRLF>.  This is the default                ␈↓ π∞␈↓␈↓ λ∞or␈α⊃several␈α∩of␈α⊃the␈α∩parameter␈α⊃values
␈↓ ↓N␈↓␈↓ αntype.                                       ␈↓ π∞␈↓␈↓ λ∞speci≡ed␈αby␈α
the␈αarguments,␈αor␈α
it␈αcan
                                            ␈↓ π∞␈↓␈↓ λ∞accept␈α!each␈α!of␈α!them␈α!in␈α!some
␈↓ ↓N␈↓␈↓ α∞EBCDIC Data consist of 8-bit EBCDIC         ␈↓ π∞␈↓␈↓ λ∞combination␈α!but␈α!not␈α!the␈α!three
␈↓ ↓N␈↓␈↓ αncharacters. The end of a line of            ␈↓ π∞␈↓␈↓ λ∞together␈α
as␈α
required␈α
in␈α
the␈α
command
␈↓ ↓N␈↓␈↓ αntext is denoted by a <NL>                   ␈↓ π∞␈↓␈↓ λ∞or␈α⊗the␈α⊗arguments␈α⊗are␈α⊗not␈α↔in␈α⊗the
␈↓ ↓N␈↓␈↓ αncharacter.                                  ␈↓ π∞␈↓␈↓ λ∞correct order, etc.

␈↓ ↓N␈↓␈↓ α∞IMAGE Data consist of a stream of           ␈↓ π∞␈↓α␈↓ λ≠FTP Service Commands␈↓ 
␈↓ ↓N␈↓␈↓ αncontiguous bits that should be
␈↓ ↓N␈↓␈↓ αntaken in contiguous groups of size          ␈↓ π∞␈↓VI.     (RETRIEVE <for-path-name>)
␈↓ ↓N␈↓␈↓ αngiven by the value of <byte-size>.
␈↓ ↓N␈↓␈↓ αnThis type is intended for e≠cient           ␈↓ π∞␈↓This␈αcommand␈αtells␈α
the␈αserver␈αto␈αsend␈α
the␈α≡le
␈↓ ↓N␈↓␈↓ αntransmission between similar                ␈↓ π∞␈↓speci≡ed␈α~by␈α~<for-path-name>␈α~to␈α≠the␈α~user.
␈↓ ↓N␈↓␈↓ αnmachines.                                   ␈↓ π∞␈↓Upon␈α⊗receiving␈α⊗it,␈α⊗the␈α⊗output␈α⊗side␈α⊗of␈α⊗the
                                            ␈↓ π∞␈↓server's␈α⊃program␈α⊂should␈α⊃look␈α⊂for␈α⊃this␈α⊃≡le␈α⊂in
␈↓ ↓N␈↓␈↓ ↓n<structure> may be:
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ T16


␈↓ ↓N␈↓the␈αserver's␈α≡le␈αsystem.␈α
 Then␈αit␈αwill␈αreport␈α
the   ␈↓ π∞␈↓␈↓ π.␈↓↓(BUSY (<reason>))
␈↓ ↓N␈↓result␈α∪of␈α∀the␈α∪lookup␈α∀operation␈α∪(so␈α∀that␈α∪the
␈↓ ↓N␈↓user's␈α→program␈α~can␈α→be␈α→informed)␈α~and,␈α→if           ␈↓ π∞␈↓↓␈↓ π.(FAILED (<reason>))␈↓
␈↓ ↓N␈↓successful,␈α
will␈α
start␈α
transmitting.␈α
 At␈α∞the␈α
end,
␈↓ ↓N␈↓a␈α_report␈α_about␈α↔the␈α_result␈α_of␈α_the␈α↔transfer          ␈↓ π∞␈↓Secondary replies:
␈↓ ↓N␈↓operation will also be emitted.
                                            ␈↓ π∞␈↓␈↓ π.␈↓↓(DONE (<text>))␈↓
␈↓ ↓N␈↓Primary replies:
                                            ␈↓ π∞␈↓␈↓ π.The␈α∂transfer␈α∂is␈α∂≡nished␈α∂(an␈α∂end-of-≡le␈α∂has
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK (<text>))␈↓                               ␈↓ π∞␈↓␈↓ λ∞been␈α∃received).␈α∀ The␈α∃≡le␈α∃is␈α∀closed
                                            ␈↓ π∞␈↓␈↓ λ∞and so is data channel 2.
␈↓ ↓N␈↓␈↓ ↓nThe␈α⊂lookup␈α⊃succeeded␈α⊂and␈α⊂the␈α⊃server␈α⊂has
␈↓ ↓N␈↓␈↓ αNstarted sending the ≡le.                    ␈↓ π∞␈↓␈↓ π.␈↓↓(STOPPED (<text>))␈↓

␈↓ ↓N␈↓␈↓ ↓n␈↓↓(BUSY (<reason>))                           ␈↓ π∞␈↓␈↓ π.Channel␈α≠2␈α≠closed␈α≠before␈α≠an␈α≠end-of-≡le
                                            ␈↓ π∞␈↓␈↓ λ∞arrived.␈α∀The␈α∀part␈α∀of␈α∀the␈α∀≡le␈α∪that
␈↓ ↓N␈↓↓␈↓ ↓n(FAILED (<reason>))␈↓                         ␈↓ π∞␈↓␈↓ λ∞had␈α⊃already␈α⊃been␈α⊃received␈α∩(if␈α⊃any)
                                            ␈↓ π∞␈↓␈↓ λ∞will␈α⊗not␈α↔be␈α⊗saved.␈α↔ The␈α⊗STORE
␈↓ ↓N␈↓ Secondary replies:                         ␈↓ π∞␈↓␈↓ λ∞command will not have any e≥ect.

␈↓ ↓N␈↓␈↓ ↓n␈↓↓(DONE (<text>))␈↓
                                            ␈↓ π∞␈↓VIII.   (APPEND <for-path-name>)
␈↓ ↓N␈↓␈↓ ↓nThe␈α~transfer␈α~is␈α~≡nished␈α~and␈α≠the␈α~data
␈↓ ↓N␈↓␈↓ αNchannel closed.                             ␈↓ π∞␈↓This␈αcommand␈αtells␈αthe␈αserver␈αto␈αopen␈αthe␈α≡le
                                            ␈↓ π∞␈↓speci≡ed␈α∀by␈α∪<for-path-name>␈α∀for␈α∀input␈α∪and
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(STOPPED (<text>))␈↓                          ␈↓ π∞␈↓append␈α∞to␈α∞it␈α∞the␈α∞data␈α∞that␈α∞the␈α∞user␈α∞will␈α∞send
                                            ␈↓ π∞␈↓thru␈α∪channel␈α∪2.␈α∪ If␈α∪no␈α∪≡le␈α∪exists␈α∀with␈α∪that
␈↓ ↓N␈↓␈↓ ↓nChannel␈α∂1␈α∂was␈α∞closed␈α∂before␈α∂an␈α∞end-of-≡le         ␈↓ π∞␈↓name␈α∞this␈α∞command␈α∞will␈α∞have␈α∞the␈α∞e≥ect␈α∂of␈α∞a
␈↓ ↓N␈↓␈↓ αNhad␈α∩arrived.␈α∪ The␈α∩part␈α∩of␈α∪the␈α∩≡le                 ␈↓ π∞␈↓STORE command.
␈↓ ↓N␈↓␈↓ αNthat␈α
had␈α
already␈α
been␈αtransmitted␈α
(if
␈↓ ↓N␈↓␈↓ αNany)␈α~will␈α~not␈α~be␈α~saved,␈α~i.e.␈α→the                  ␈↓ π∞␈↓Primary replies:
␈↓ ↓N␈↓␈↓ αNRETRIEVE␈αcommand␈αwill␈αnot␈α
have
␈↓ ↓N␈↓␈↓ αNany e≥ect.                                  ␈↓ π∞␈↓␈↓ π.␈↓↓(OK (<text>))␈↓

                                            ␈↓ π∞␈↓␈↓ π.The ≡le has been found or created.
␈↓ ↓N␈↓VII.    (STORE <for-path-name>)
                                            ␈↓ π∞␈↓␈↓ π.␈↓↓(BUSY (<reason>))
␈↓ ↓N␈↓The␈α∩server␈α∩should␈α∪open␈α∩a␈α∩≡le␈α∪named␈α∩<for-
␈↓ ↓N␈↓path-name>␈α∞and␈α∂store␈α∞in␈α∞it␈α∂the␈α∞data␈α∂that␈α∞the        ␈↓ π∞␈↓↓␈↓ π.(FAILED (<reason>))␈↓
␈↓ ↓N␈↓user␈αwill␈αsend.␈αIf␈αa␈α≡le␈αwith␈αthat␈αname␈αalready
␈↓ ↓N␈↓exists␈α
at␈α∞the␈α
server␈α
site␈α∞it␈α
will␈α∞be␈α
overwritten,   ␈↓ π∞␈↓␈↓ π.Secondary replies:
␈↓ ↓N␈↓otherwise the server should create it.
                                            ␈↓ π∞␈↓␈↓ π.␈↓↓(DONE (<text>))␈↓
␈↓ ↓N␈↓Primary replies:
                                            ␈↓ π∞␈↓␈↓ π.The␈α∂transfer␈α∂is␈α∂≡nished␈α∂(an␈α∂end-of-≡le␈α∂has
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK (<text>))␈↓                               ␈↓ π∞␈↓␈↓ λ∞been␈α∃received).␈α∀ The␈α∃≡le␈α∃is␈α∀closed
                                            ␈↓ π∞␈↓␈↓ λ∞and so is data channel 2.
␈↓ ↓N␈↓␈↓ ↓nThe␈α⊃≡le␈α⊃has␈α⊂been␈α⊃found␈α⊃or␈α⊃created.␈α⊂ The
␈↓ ↓N␈↓␈↓ αNserver␈α⊃is␈α⊃ready␈α⊃to␈α⊃receive␈α⊃the␈α⊃data               ␈↓ π∞␈↓␈↓ π.␈↓↓(STOPPED (<text>))␈↓
␈↓ ↓N␈↓␈↓ αNthru channel 2.
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ T17


␈↓ ↓N␈↓␈↓ ↓nChannel␈α∂2␈α∞has␈α∂been␈α∞closed␈α∂before␈α∂an␈α∞end-           ␈↓ π∞␈↓↓␈↓ π.(FAILED (<reason>))␈↓
␈↓ ↓N␈↓␈↓ αNof-≡le␈α∂has␈α∂arrived.␈α∂The␈α∂part␈α⊂of␈α∂the
␈↓ ↓N␈↓␈↓ αN≡le␈α⊃that␈α⊂had␈α⊃already␈α⊃been␈α⊂received
␈↓ ↓N␈↓␈↓ αN(if␈α↔any)␈α↔will␈α⊗not␈α↔be␈α↔saved.␈α⊗ The                  ␈↓ π∞␈↓XI.     (DELETE <for-path-name>)
␈↓ ↓N␈↓␈↓ αNAPPEND␈α∪command␈α∪will␈α∪not␈α∩have
␈↓ ↓N␈↓␈↓ αNany e≥ect.                                  ␈↓ π∞␈↓The␈α⊗server␈α↔is␈α⊗instructed␈α↔to␈α⊗delete␈α↔the␈α⊗≡le
                                            ␈↓ π∞␈↓speci≡ed by <for-path-name>.

␈↓ ↓N␈↓IX.     (ABORT)                             ␈↓ π∞␈↓Replies:

␈↓ ↓N␈↓This␈α∩command␈α∪tells␈α∩the␈α∪server␈α∩that␈α∪the␈α∩≡le         ␈↓ π∞␈↓␈↓ π.␈↓↓(OK)␈↓
␈↓ ↓N␈↓transfer␈α⊂requested␈α⊂by␈α⊂the␈α⊂previous␈α⊂command
␈↓ ↓N␈↓has␈α~been␈α→cancelled.␈α~For␈α→that␈α~purpose␈α→an           ␈↓ π∞␈↓␈↓ π.The ≡le has been deleted.
␈↓ ↓N␈↓interrupt␈α⊂packet␈α⊂is␈α⊂sent␈α⊂to␈α⊂the␈α⊂server␈α⊂on␈α∂the
␈↓ ↓N␈↓data␈α$channel.␈α#Because␈α$the␈α$server␈α#was             ␈↓ π∞␈↓␈↓ π.␈↓↓(BUSY (<reason>))
␈↓ ↓N␈↓attending␈α∩that␈α∩channel,␈α∩it␈α∩will␈α∩recognize␈α⊃the
␈↓ ↓N␈↓packet,␈α⊗terminate␈α⊗any␈α⊗data␈α⊗transmission␈α⊗or       ␈↓ π∞␈↓↓␈↓ π.(FAILED (<reason>))␈↓
␈↓ ↓N␈↓reception␈α≡and␈α≡turn␈α≡its␈α≡attention␈α∨to␈α≡the
␈↓ ↓N␈↓command␈α∂channel.␈α∞ Any␈α∂data␈α∞received␈α∂so␈α∞far
␈↓ ↓N␈↓will␈αbe␈αdiscarded.␈αThe␈αprevious␈αcommand␈αwill      ␈↓ π∞␈↓XI.     (DIRECTORY <for-dir-name>)
␈↓ ↓N␈↓have␈αno␈αe≥ect␈αon␈αthe␈α≡les␈αof␈αeither␈αthe␈αuser␈α
or
␈↓ ↓N␈↓the␈α∃server.␈α∀ Had␈α∃the␈α∀transfer␈α∃already␈α∀been        ␈↓ π∞␈↓This␈αcommand␈αasks␈α
the␈αserver␈αfor␈α
a␈αlist␈αof␈α
the
␈↓ ↓N␈↓completed␈α∪and␈α∪the␈α∪data␈α∪channel␈α∪closed,␈α∩the        ␈↓ π∞␈↓≡les␈α⊗in␈α↔the␈α⊗directory␈α⊗speci≡ed␈α↔by␈α⊗<for-dir-
␈↓ ↓N␈↓receiver␈α
would␈α∞have␈α
already␈α∞closed␈α
the␈α∞≡le␈α
in      ␈↓ π∞␈↓name>.␈α∂If␈α∂no␈α∞argument␈α∂is␈α∂given␈α∞a␈α∂list␈α∂of␈α∞the
␈↓ ↓N␈↓its␈α↔≡le␈α↔system␈α_and␈α↔no␈α↔abortion␈α_would␈α↔be            ␈↓ π∞␈↓≡les␈α
in␈αthe␈α
log-in␈α
directory␈αshould␈α
be␈αsent.␈α
The
␈↓ ↓N␈↓possible.                                   ␈↓ π∞␈↓information␈α∃will␈α∃be␈α∃contained␈α∃in␈α∃the␈α∀reply
                                            ␈↓ π∞␈↓(sent thru the command channel).
␈↓ ↓N␈↓Only␈α∃≡le␈α∃transfers␈α∃can␈α∃be␈α∃aborted␈α∃because
␈↓ ↓N␈↓there␈α
is␈α
no␈α
control␈α
on␈α
the␈α
other␈α
services␈α
from      ␈↓ π∞␈↓Replies:
␈↓ ↓N␈↓the␈α%very␈α$≡rst␈α%moment␈α$in␈α%which␈α$the
␈↓ ↓N␈↓corresponding command is issued.            ␈↓ π∞␈↓␈↓ π.␈↓↓(OK <≡le-list>)␈↓

␈↓ ↓N␈↓Replies:                                    ␈↓ π∞␈↓␈↓ π.<≡le-list>␈α∪is␈α∪the␈α∪requested␈α∪list␈α∪of␈α∀≡les.␈α∪ It
                                            ␈↓ π∞␈↓␈↓ λ∞should␈α_be␈α→passed␈α_directly␈α→to␈α_the
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK)                                        ␈↓ π∞␈↓␈↓ λ∞human user.

␈↓ ↓N␈↓↓␈↓ ↓n(FAILED (<reason>))␈↓                         ␈↓ π∞␈↓␈↓ π.␈↓↓(FAILED (<reason>))␈↓


␈↓ ↓N␈↓X.␈α!     (RENAME␈α!<for-path-name1>␈α!TO            ␈↓ π∞␈↓XII.    (STATUS)
␈↓ ↓N␈↓<for-path-name2>)
                                            ␈↓ π∞␈↓With␈α∨this␈α∨command␈α∨the␈α∨user␈α∨asks␈α∨for
␈↓ ↓N␈↓The␈α
server␈α
is␈α
instructed␈α
to␈α
change␈α
the␈αname␈α
of      ␈↓ π∞␈↓whatever␈α
information␈α∞the␈α
server␈α
may␈α∞want␈α
to
␈↓ ↓N␈↓<for-path-name1> to <for-path-name2>.       ␈↓ π∞␈↓send␈αhim.␈α It␈αmay␈αbe␈αissued␈αat␈αany␈αtime.␈α The
                                            ␈↓ π∞␈↓information␈αwill␈αbe␈αsent␈αas␈αa␈αreply␈αon␈αchannel
␈↓ ↓N␈↓Replies:                                    ␈↓ π∞␈↓0␈α∃(the␈α∃command␈α∀channel!)␈α∃and␈α∃is␈α∀intended
                                            ␈↓ π∞␈↓exclusively for human users.
␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK)
                                            ␈↓ π∞␈↓Replies:
␈↓ ↓N␈↓↓␈↓ ↓n(BUSY (<reason>))
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε↑␈↓ S18


␈↓ ↓N␈↓␈↓ ↓n␈↓↓(OK <information-list>))␈↓                    ␈↓ π∞␈↓␈↓ π.DATA␈α↔¬␈α⊗an␈α↔arbitrary␈α⊗amount␈α↔of␈α⊗data
                                            ␈↓ π∞␈↓␈↓ λ∞which␈αis␈αeither␈αused␈αas␈αarguments␈α
in
␈↓ ↓N␈↓␈↓ ↓nThe␈α∨contents␈α≡of␈α∨the␈α≡<information-list>          ␈↓ π∞␈↓␈↓ λ∞the␈α
Host-Host␈αprotocol␈α
or␈αas␈α
data␈αto
␈↓ ↓N␈↓␈↓ αNshould␈αbe␈αdirectly␈αsent␈αto␈αthe␈α
human              ␈↓ π∞␈↓␈↓ λ∞be␈α~passed␈α~to␈α~a␈α~process␈α~utilizing
␈↓ ↓N␈↓␈↓ αNuser␈α∪for␈α∀its␈α∪interpretation.␈α∀This␈α∪is             ␈↓ π∞␈↓␈↓ λ∞␈↓↓Dialnet␈↓.
␈↓ ↓N␈↓␈↓ αNthe only legal reply.
                                            ␈↓ π∞␈↓␈↓ π.DATA␈α∨COUNT␈α∨¬␈α∨a␈α∨8.-bit␈α∨quantity
                                            ␈↓ π∞␈↓␈↓ λ∞indicating␈α∪how␈α∀many␈α∪bytes␈α∀are␈α∪in
␈↓ ↓N␈↓α␈↓ β09.  Glossary                                ␈↓ π∞␈↓␈↓ λ∞the␈αdata␈α≡eld␈αof␈αthe␈αpacket␈αafter␈αthe
                                            ␈↓ π∞␈↓␈↓ λ∞≡rst data byte.
␈↓ ↓N␈↓The␈α
following␈α
terms␈α
are␈α
used␈α
in␈αthis␈α
document
␈↓ ↓N␈↓and are de≡ned here to remove ambiguity:    ␈↓ π∞␈↓␈↓ π.␈↓↓Dialnet␈↓␈α∀¬␈α∪a␈α∀communications␈α∀protocol␈α∪for
                                            ␈↓ π∞␈↓␈↓ λ∞data␈α∨transmission␈α over␈α∨standard
␈↓ ↓N␈↓␈↓ ↓nACKNOWLEDGEMENT␈α"¬␈α#an␈α"8.-bit                    ␈↓ π∞␈↓␈↓ λ∞phone␈α⊃lines.␈α⊃ This␈α⊃term␈α∩also␈α⊃refers
␈↓ ↓N␈↓␈↓ αNquantity␈α∩which␈α∩speci≡es␈α∩the␈α∩packet              ␈↓ π∞␈↓␈↓ λ∞informally␈α∞to␈α∞the␈α
set␈α∞of␈α∞hosts␈α
which
␈↓ ↓N␈↓␈↓ αNsequence␈α≠number␈α≠of␈α≠the␈α≠highest                  ␈↓ π∞␈↓␈↓ λ∞implement ␈↓↓Dialnet␈↓.
␈↓ ↓N␈↓␈↓ αNconsecutive␈α∩packet␈α∩which␈α∩has␈α⊃been
␈↓ ↓N␈↓␈↓ αNsuccessfully␈α?␈α↔received.␈α?␈α↔ An                    ␈↓ π∞␈↓␈↓ π.EOP␈α⊂¬␈α⊂a␈α⊂marker␈α∂used␈α⊂to␈α⊂indicate␈α⊂end␈α∂of
␈↓ ↓N␈↓␈↓ αNacknowledgement␈α≠implies␈α≤that␈α≠all               ␈↓ π∞␈↓␈↓ λ∞packet.␈α≤ EOP␈α≠consists␈α≤of␈α≠ASCII
␈↓ ↓N␈↓␈↓ αNpackets␈α1with␈α2lower␈α1sequence                    ␈↓ π∞␈↓␈↓ λ∞DLE␈α⊂(220)␈α∂followed␈α⊂by␈α⊂ETX␈α∂(202).
␈↓ ↓N␈↓␈↓ αNnumbers have been received as well.         ␈↓ π∞␈↓␈↓ λ∞It␈α⊃is␈α⊃a␈α⊂violation␈α⊃of␈α⊃packet␈α⊂framing
                                            ␈↓ π∞␈↓␈↓ λ∞for␈α⊃a␈α⊃packet␈α⊃to␈α⊃end␈α∩with␈α⊃anything
␈↓ ↓N␈↓␈↓ ↓nBYTE␈α¬␈α
an␈α8.-bit␈αquantity.␈α
 While␈α␈↓↓Dialnet␈↓         ␈↓ π∞␈↓␈↓ λ∞other␈α
than␈αan␈α
EOP.␈α A␈α
packet␈αis␈α
not
␈↓ ↓N␈↓␈↓ αNtransmissions␈αare␈α
to␈αbe␈αconsidered␈α
as            ␈↓ π∞␈↓␈↓ λ∞completely␈α∪received␈α∪until␈α∀this␈α∪code
␈↓ ↓N␈↓␈↓ αNa␈α$bit␈α#stream,␈α$this␈α$concept␈α#is                    ␈↓ π∞␈↓␈↓ λ∞has␈α∀been␈α∃received.␈α∀ Note␈α∃that␈α∀the
␈↓ ↓N␈↓␈↓ αNconvenient to use for many reasons.         ␈↓ π∞␈↓␈↓ λ∞200␈α∂bit␈α∞must␈α∂be␈α∞set␈α∂for␈α∞an␈α∂EOP␈α∞to
                                            ␈↓ π∞␈↓␈↓ λ∞be recognized as such.
␈↓ ↓N␈↓␈↓ ↓nBYTE␈α
SIZE␈α¬␈α
this␈αrefers␈α
to␈αthe␈α
byte␈αsize␈α
of
␈↓ ↓N␈↓␈↓ αNdata␈α⊂as␈α⊂seen␈α⊂by␈α⊂the␈α⊂host␈α∂computer.                ␈↓ π∞␈↓␈↓ π.HOST␈α
¬␈α∞a␈α
system␈α∞with␈α
␈↓↓Dialnet␈↓-compatible
␈↓ ↓N␈↓␈↓ αNAll␈α∂␈↓↓Dialnet␈↓␈α∞transmissions␈α∂should␈α∞be             ␈↓ π∞␈↓␈↓ λ∞modems␈α?and␈α>␈↓↓Dialnet␈↓-support
␈↓ ↓N␈↓␈↓ αNconsidered␈α∩bit␈α∩stream␈α∩transmissions            ␈↓ π∞␈↓␈↓ λ∞software␈α
which␈α
knows␈α
the␈α
telephone
␈↓ ↓N␈↓␈↓ αNsent in units of 8.-bit bytes.              ␈↓ π∞␈↓␈↓ λ∞number of at least one other host.

␈↓ ↓N␈↓␈↓ ↓nCHANNEL␈α
¬␈αan␈α
8.-bit␈αquantity␈α
identifying         ␈↓ π∞␈↓␈↓ π.HOST-HOST␈α*PROTOCOL␈α*¬␈α)The
␈↓ ↓N␈↓␈↓ αNwhich␈α!data␈α!stream␈α"this␈α!packet                   ␈↓ π∞␈↓␈↓ λ∞protocol␈α2which␈α2provides␈α2for
␈↓ ↓N␈↓␈↓ αNbelongs␈α to.␈α  Channels␈α have␈α no                   ␈↓ π∞␈↓␈↓ λ∞compatible␈α⊗communication␈α∃between
␈↓ ↓N␈↓␈↓ αNmeaning␈α∃to␈α∀the␈α∃host-host␈α∀protocol,              ␈↓ π∞␈↓␈↓ λ∞two␈α
processes␈α
running␈α
on␈α(probably)
␈↓ ↓N␈↓␈↓ αNonly␈α#to␈α"higher␈α#level␈α"protocols.                 ␈↓ π∞␈↓␈↓ λ∞dissimilar hosts.
␈↓ ↓N␈↓␈↓ αNChannel␈α⊂0␈α⊃is␈α⊂the␈α⊃channel␈α⊂normally
␈↓ ↓N␈↓␈↓ αNused.                                       ␈↓ π∞␈↓␈↓ π.LINE␈α⊃TRANSMISSION␈α⊃PROTOCOL␈α⊂¬
                                            ␈↓ π∞␈↓␈↓ λ∞The␈α_protocol␈α_which␈α_provides␈α_for
␈↓ ↓N␈↓␈↓ ↓nCHECKSUM␈α*¬␈α*a␈α+16.-bit␈α*quantity                   ␈↓ π∞␈↓␈↓ λ∞error␈α∂free␈α∂transmission␈α∂between␈α∞two
␈↓ ↓N␈↓␈↓ αNcontaining␈α∂a␈α∂packet␈α⊂checksum,␈α∂used              ␈↓ π∞␈↓␈↓ λ∞hosts␈α
with␈α
a␈α
common␈α∞modem␈α
which
␈↓ ↓N␈↓␈↓ αNin error detection.                         ␈↓ π∞␈↓␈↓ λ∞use the Host-Host protocol.

␈↓ ↓N␈↓␈↓ ↓nCONNECTION␈α→¬␈α→a␈α→logical␈α→connection               ␈↓ π∞␈↓␈↓ π.OP␈α∂CODE␈α∂¬␈α∂a␈α∂␈↓↓Dialnet␈↓␈α∂host-host␈α∂protocol
␈↓ ↓N␈↓␈↓ αNbetween␈α∂two␈α∂processes.␈α∞ Connections            ␈↓ π∞␈↓␈↓ λ∞operation code.
␈↓ ↓N␈↓␈↓ αNare bidirectional.
                                            ␈↓ π∞␈↓␈↓ π.PACKET␈α ¬␈α a␈α∨logical␈α unit␈α of␈α∨data
␈↓ ↓N␈↓αFile transfer protocol␈↓ ε%Glossary␈↓ T19


␈↓ ↓N␈↓␈↓ αNtransmitted␈α≤over␈α≤a␈α≤␈↓↓Dialnet␈↓␈α≤link.                ␈↓ π∞␈↓␈↓ π.TIMEOUT␈α
¬␈α
A␈α∞delay␈α
time␈α
for␈α∞a␈α
speci≡ed
␈↓ ↓N␈↓␈↓ αNThe␈αpacket␈αis␈αthe␈αelementary␈αunit␈αof              ␈↓ π∞␈↓␈↓ λ∞action.␈α∀ If␈α∀the␈α∀desired␈α∀action␈α∀does
␈↓ ↓N␈↓␈↓ αN␈↓↓Dialnet␈↓␈α∩transmissions.␈α∩ A␈α∩packet␈α∩is             ␈↓ π∞␈↓␈↓ λ∞not␈α∂occur␈α∂within␈α∂a␈α∂speci≡ed␈α∂time,␈α∂a
␈↓ ↓N␈↓␈↓ αNbasically␈α∃data␈α∃with␈α∃a␈α⊗header␈α∃and                 ␈↓ π∞␈↓␈↓ λ∞"timeout" action is taken.
␈↓ ↓N␈↓␈↓ αNtrailer.
                                            ␈↓ π∞␈↓␈↓ π.USER␈α∩¬␈α∩the␈α∩initially␈α∩active␈α∩process␈α∪in␈α∩a
␈↓ ↓N␈↓␈↓ ↓nPACKET␈α∞FRAMING␈α∞¬␈α∞a␈α∂technique␈α∞used                ␈↓ π∞␈↓␈↓ λ∞connection.
␈↓ ↓N␈↓␈↓ αNin␈α~the␈α~line␈α~transmission␈α~protocol
␈↓ ↓N␈↓␈↓ αNwhich␈α
requires␈α∞that␈α
all␈α∞packets␈α
start            ␈↓ π∞␈↓␈↓ π.WINDOW␈α⊂¬␈α⊃The␈α⊂margin␈α⊂for␈α⊃packets␈α⊂vs.
␈↓ ↓N␈↓␈↓ αNwith␈α∞an␈α∞SOP␈α∞marker␈α∞and␈α∞end␈α
with                   ␈↓ π∞␈↓␈↓ λ∞their␈α#acknowledgements␈α$so␈α#that
␈↓ ↓N␈↓␈↓ αNan␈α
EOP␈α
marker.␈α
 A␈α
packet␈α
must␈αbe                  ␈↓ π∞␈↓␈↓ λ∞acknowledgements␈αdo␈αnot␈αhave␈αto␈α
be
␈↓ ↓N␈↓␈↓ αNproperly␈α"framed␈α"for␈α"it␈α"to␈α"be                     ␈↓ π∞␈↓␈↓ λ∞completely synchronous with packets.
␈↓ ↓N␈↓␈↓ αNconsidered␈α↔to␈α↔have␈α↔been␈α⊗received
␈↓ ↓N␈↓␈↓ αNcorrectly.␈α⊂ Framing␈α⊂errors␈α⊂cause␈α⊂the            ␈↓ π∞␈↓␈↓ π.WINDOW␈αSIZE␈α¬␈αThe␈αmaximum␈αnumber
␈↓ ↓N␈↓␈↓ αNpacket␈α
in␈α
progress␈α
and␈α
all␈α
succeeding            ␈↓ π∞␈↓␈↓ λ∞of␈α↔unacknowledged␈α_packets␈α↔which
␈↓ ↓N␈↓␈↓ αNdata␈αto␈αbe␈α
discarded␈αuntil␈αframing␈α
is             ␈↓ π∞␈↓␈↓ λ∞may␈α
be␈α
pending␈α
at␈α
any␈α
time.␈α
 This␈α
is
␈↓ ↓N␈↓␈↓ αNrestored.                                   ␈↓ π∞␈↓␈↓ λ∞similar␈α⊂to␈α⊃what␈α⊂the␈α⊃ARPAnet␈α⊂calls
                                            ␈↓ π∞␈↓␈↓ λ∞"message allocation".
␈↓ ↓N␈↓␈↓ ↓nPACKET␈α∂NUMBER␈α∂¬␈α∂an␈α⊂8.-bit␈α∂quantity
␈↓ ↓N␈↓␈↓ αNwhich␈αuniquely␈αidenti≡es␈αa␈αpacket␈αat
␈↓ ↓N␈↓␈↓ αNa␈α
given␈α
point␈α
in␈α
time.␈α
 This␈α
is␈α
used
␈↓ ↓N␈↓␈↓ αNto␈α∀identify␈α∀packets␈α∀if␈α∀necessary␈α∀in
␈↓ ↓N␈↓␈↓ αNerror␈αrecovery.␈α Packet␈αnumbers␈α
may
␈↓ ↓N␈↓␈↓ αNbe␈α∃recycled␈α∀after␈α∃both␈α∃hosts␈α∀have
␈↓ ↓N␈↓␈↓ αNagreed␈α_that␈α_the␈α_packet␈α↔associated
␈↓ ↓N␈↓␈↓ αNwith␈α∩this␈α∩packet␈α∩number␈α∩has␈α∩been
␈↓ ↓N␈↓␈↓ αNcorrectly sent and received.

␈↓ ↓N␈↓␈↓ ↓nPROCESS␈α∀¬␈α∀an␈α∀entity␈α∃utilizing␈α∀␈↓↓Dialnet␈↓.
␈↓ ↓N␈↓␈↓ αN␈↓↓Dialnet␈↓␈α?␈α↓tra≠c␈α?␈α↓consists␈α?of
␈↓ ↓N␈↓␈↓ αNcommunications between processes.

␈↓ ↓N␈↓␈↓ ↓nPROCESS␈α⊃ID␈α∩¬␈α⊃an␈α⊃8.-byte␈α∩ASCII␈α⊃string
␈↓ ↓N␈↓␈↓ αNwhich␈α
uniquely␈α
identi≡es␈α
the␈α
process.
␈↓ ↓N␈↓␈↓ αNSee␈α$the␈α#ICP␈α$and␈α#higher-level
␈↓ ↓N␈↓␈↓ αNprotocols for process-ID conventions.

␈↓ ↓N␈↓␈↓ ↓nSERVER␈α∞¬␈α
the␈α∞initially␈α
passive␈α∞process␈α
in
␈↓ ↓N␈↓␈↓ αNa connection.

␈↓ ↓N␈↓␈↓ ↓nSOP␈α∂¬␈α∂a␈α∂marker␈α∂used␈α∂to␈α∂indicate␈α∂start␈α∂of
␈↓ ↓N␈↓␈↓ αNpacket.␈α
 SOP␈α
consists␈α
of␈α
ASCII␈α
DLE
␈↓ ↓N␈↓␈↓ αN(220)␈αfollowed␈αby␈αSTX␈α(203).␈α It␈αis␈αa
␈↓ ↓N␈↓␈↓ αNviolation␈α∀of␈α∃packet␈α∀framing␈α∃for␈α∀a
␈↓ ↓N␈↓␈↓ αNpacket␈α
to␈α
begin␈α
with␈α
anything␈α
other
␈↓ ↓N␈↓␈↓ αNthan␈α∪an␈α∩SOP.␈α∪ Any␈α∪data␈α∩received
␈↓ ↓N␈↓␈↓ αNwhen␈αan␈αSOP␈αis␈αexpected␈αshould␈αbe
␈↓ ↓N␈↓␈↓ αNdiscarded.␈α⊗ Note␈α⊗that␈α⊗the␈α⊗200␈α∃bit
␈↓ ↓N␈↓␈↓ αNmust␈α_be␈α_set␈α_for␈α_an␈α_SOP␈α→to␈α_be
␈↓ ↓N␈↓␈↓ αNrecognized as such.
␈↓ ↓N␈↓α␈↓ ε↑␈↓ R20


␈↓ ↓N␈↓α␈↓ β*Appendix D                                  ␈↓ π∞␈↓them␈α
entirely.␈α Instead,␈α
messages␈α
are␈αsent␈α
using
␈↓ ↓N␈↓α␈↓ β$Mail protocol                               ␈↓ π∞␈↓a␈αmail␈αprotocol.␈α Each␈αhost␈αis␈αonly␈αrequired␈αto
                                            ␈↓ π∞␈↓implement␈α∃what␈α∃parts␈α∀of␈α∃the␈α∃protocol␈α∀they
␈↓ ↓N␈↓↓␈↓ αCby Mark Crispin      3/27/78                ␈↓ π∞␈↓require␈α_after␈α→a␈α_certain␈α→common␈α_minimum
                                            ␈↓ π∞␈↓subset.␈α⊃ If␈α⊃a␈α⊃host␈α⊃wishes␈α⊃to␈α⊃have␈α∩a␈α⊃message
␈↓ ↓N␈↓The␈α∪host-host␈α∪protocol␈α∪described␈α∪in␈α∪Dialnet      ␈↓ π∞␈↓heading␈α→(as␈α→well␈α_it␈α→might,␈α→since␈α_valuable
␈↓ ↓N␈↓memo␈α
 2␈αdocuments␈α
a␈αmechanism␈α
for␈α
hosts␈αto         ␈↓ π∞␈↓information␈α⊃such␈α∩as␈α⊃whom␈α⊃the␈α∩message␈α⊃was
␈↓ ↓N␈↓establish␈α∂an␈α∂error-free␈α∂data␈α∂link␈α∂between␈α∞two     ␈↓ π∞␈↓from␈α∂is␈α∂contained␈α∞therein),␈α∂it␈α∂may␈α∂generate␈α∞a
␈↓ ↓N␈↓cooperating␈αprocesses.␈α This␈αprotocol,␈α
however, ␈↓ π∞␈↓header in any format.
␈↓ ↓N␈↓is␈α$insu≠cient␈α$to␈α$specify␈α#communication
␈↓ ↓N␈↓between␈α∂dissimilar␈α∂mail␈α∂processes␈α∂in␈α∂di≥erent    ␈↓ π∞␈↓Keeping␈αthis␈αin␈αmind,␈αa␈αmethod␈αof␈αexpressing
␈↓ ↓N␈↓hosts.␈α" The␈α#processes␈α"must␈α#have␈α"some             ␈↓ π∞␈↓such␈α∀information␈α∀in␈α∀a␈α∀clearly␈α∀unambiguous
␈↓ ↓N␈↓agreement␈α
as␈α
to␈αthe␈α
format␈α
messages␈αshould␈α
be      ␈↓ π∞␈↓and␈αreadily␈αmachine-parsable␈αway␈αwas␈αsought.
␈↓ ↓N␈↓in,␈α∃and␈α⊗how␈α∃mail␈α∃addressing␈α⊗and␈α∃delivery          ␈↓ π∞␈↓The␈αLISP␈αsyntax␈αof␈αS-expressions␈αwas␈αchosen,
␈↓ ↓N␈↓should be handled.                          ␈↓ π∞␈↓due to its extreme versatility.

␈↓ ↓N␈↓The␈αARPAnet␈αimplements␈αmail␈αas␈αpart␈αof␈αthe         ␈↓ π∞␈↓In␈α≠the␈α≠mail␈α~protocol,␈α≠the␈α≠user␈α≠sends␈α~S-
␈↓ ↓N␈↓≡le␈α%transfer␈α%protocol.␈α% This␈α%has␈α%some            ␈↓ π∞␈↓expressions␈α
as␈αcommands␈α
to␈αthe␈α
server,␈αwhich
␈↓ ↓N␈↓advantages␈α⊂and␈α∂disadvantages.␈α⊂ A␈α∂short-term     ␈↓ π∞␈↓replies␈αin␈αturn␈αusing␈αS-expressions.␈α No␈αactual
␈↓ ↓N␈↓advantage␈αof␈αthis␈αform␈αof␈αmailing␈αis␈αthat␈αit␈αis      ␈↓ π∞␈↓LISP␈α⊃evaluating␈α⊃is␈α⊂actually␈α⊃done;␈α⊃all␈α⊃that␈α⊂is
␈↓ ↓N␈↓relatively␈αsimple␈αto␈αimplement␈αand␈αinterface␈αto   ␈↓ π∞␈↓needed␈α
is␈α
a␈α
"LISP␈α
reader"␈α
which␈α
can␈α
recognize
␈↓ ↓N␈↓an␈α∪existing␈α∩mail␈α∪system␈α∩if␈α∪the␈α∪current␈α∩mail        ␈↓ π∞␈↓an␈αS-expression␈αand␈αbe␈αable␈αto␈αdistinguish␈αthe
␈↓ ↓N␈↓system␈α⊗already␈α⊗uses␈α⊗something␈α∃approaching       ␈↓ π∞␈↓CAR and CDR of an expression.
␈↓ ↓N␈↓the standard format.
                                            ␈↓ π∞␈↓For␈α→those␈α~unfamiliar␈α→with␈α→LISP,␈α~a␈α→brief
␈↓ ↓N␈↓In␈α∀the␈α∀long␈α∀term,␈α∀however,␈α∀many␈α∪problems          ␈↓ π∞␈↓introduction␈αto␈αthe␈αsyntax␈αis␈αon␈αthe␈αnext␈αpage.
␈↓ ↓N␈↓have␈α∞arisen␈α∂as␈α∞increasingly,␈α∞more␈α∂varieties␈α∞of    ␈↓ π∞␈↓It␈αis␈α
not␈αintended␈αto␈α
be␈αa␈αdescription␈α
of␈αLISP
␈↓ ↓N␈↓mail␈α∂formats␈α⊂have␈α∂appeared␈α∂and␈α⊂more␈α∂hairy         ␈↓ π∞␈↓syntax,␈α∂but␈α∂rather␈α∂the␈α∂"LISPese"␈α∂syntax␈α∞used
␈↓ ↓N␈↓mail␈α⊂reading␈α⊂programs␈α⊂have␈α⊂been␈α⊂written␈α⊂to        ␈↓ π∞␈↓by Dialnet mail.
␈↓ ↓N␈↓parse␈αthese␈αformats.␈α It␈αwould␈αbe␈αshort-sighted
␈↓ ↓N␈↓to␈α⊃assume␈α∩that␈α⊃this␈α∩would␈α⊃not␈α∩happen␈α⊃with
␈↓ ↓N␈↓Dialnet␈α∨mail␈α∨as␈α≡well.␈α∨ In␈α∨addition,␈α≡the           ␈↓ π∞␈↓α␈↓ λs10.  Syntax
␈↓ ↓N␈↓ARPAnet␈α↔mail␈α⊗formats␈α↔leave␈α⊗much␈α↔to␈α⊗be
␈↓ ↓N␈↓desired.                                    ␈↓ π∞␈↓The␈α∂mail␈α⊂protocol␈α∂consists␈α∂of␈α⊂an␈α∂interchange
                                            ␈↓ π∞␈↓of␈α~S-expressions,␈α~which␈α~are␈α≠things␈α~inside
␈↓ ↓N␈↓First,␈α∪they␈α∪are␈α∪in␈α∩the␈α∪format␈α∪of␈α∪a␈α∩business         ␈↓ π∞␈↓balanced␈α∂parenthesis.␈α∂ Parenthesis␈α∂are␈α∂special
␈↓ ↓N␈↓memorandum,␈α
leading␈α
many␈α
to␈αthe␈α
assumption       ␈↓ π∞␈↓characters␈α
in␈α
all␈α
cases.␈α
 In␈α
order␈α
for␈α
them␈αto␈α
be
␈↓ ↓N␈↓that␈α∞a␈α∞business␈α∞memorandum␈α∞was␈α∂the␈α∞proper         ␈↓ π∞␈↓included␈α∞in␈α∞text,␈α∞they␈α∞must␈α∞be␈α∞quoted␈α∂with␈α∞a
␈↓ ↓N␈↓format for message headers to take.         ␈↓ π∞␈↓slash␈α⊃(/)␈α⊃character.␈α⊃ Hence␈α⊃slash␈α⊃is␈α∩a␈α⊃special
                                            ␈↓ π∞␈↓character as well.
␈↓ ↓N␈↓Second,␈α
too␈α
much␈α
∨exibility␈α
was␈α
allowed␈αin␈α
the
␈↓ ↓N␈↓formats␈αof␈αvarious␈αitems,␈αwith␈αthe␈αunfortunate    ␈↓ π∞␈↓Newline␈α∞is␈α∞represented␈α∞by␈α∞an␈α∞012␈α∞byte.␈α∞ This
␈↓ ↓N␈↓result␈α
that␈α∞too␈α
many␈α∞esoteric␈α
varieties␈α∞of␈α
mail    ␈↓ π∞␈↓is␈α_distinct␈α→from␈α_the␈α_"line␈α→feed"␈α_character,
␈↓ ↓N␈↓commands␈α-ensued,␈α-and␈α.many␈α-trivial               ␈↓ π∞␈↓which does not exist in the mail protocol.
␈↓ ↓N␈↓arguments␈α%over␈α%highly␈α&esoteric␈α%matters
␈↓ ↓N␈↓developed.                                  ␈↓ π∞␈↓The␈α⊂character␈α∂set␈α⊂which␈α∂is␈α⊂legal␈α∂in␈α⊂the␈α∂mail
                                            ␈↓ π∞␈↓protocol␈α
consists␈α
of␈α
all␈α
the␈α∞printing␈α
characters
␈↓ ↓N␈↓Dialnet␈αmail␈αavoids␈αthe␈αproblem␈αwith␈αmultiple     ␈↓ π∞␈↓in␈α∃the␈α∃1968␈α∃ASCII␈α∃character␈α∃set␈α∀including
␈↓ ↓N␈↓formats␈α⊗of␈α∃message␈α⊗headers␈α⊗by␈α∃eliminating        ␈↓ π∞␈↓space␈α∩(in␈α∩other␈α∩words,␈α∩the␈α∪characters␈α∩whose
␈↓ ↓N␈↓αMail protocol␈↓ ε-Syntax␈↓ T21


␈↓ ↓N␈↓ASCII␈α∪value␈α∪is␈α∪between␈α∪040␈α∪and␈α∪176)␈α∪and            ␈↓ π∞␈↓2. (FOO BAR)            is a list
␈↓ ↓N␈↓newline.␈α  In␈α∨particular,␈α rubout␈α and␈α∨the
␈↓ ↓N␈↓"control"␈α⊂characters␈α⊂(some␈α⊂of␈α⊂which␈α⊂are␈α∂used      ␈↓ π∞␈↓3. (FOO BAR GARPLY)     is a list
␈↓ ↓N␈↓for␈α∂text␈α⊂formatting␈α∂on␈α⊂some␈α∂systems)␈α⊂are␈α∂not
␈↓ ↓N␈↓part␈α∂of␈α∞the␈α∂protocol␈α∞and␈α∂should␈α∞not␈α∂be␈α∞used.        ␈↓ π∞␈↓4. (FOO BAR (BAZ GARPLY)) is a list
␈↓ ↓N␈↓There␈α∪is␈α∀no␈α∪guarantee␈α∀that␈α∪the␈α∀server␈α∪will
␈↓ ↓N␈↓interpret␈α∞these␈α
characters␈α∞in␈α
the␈α∞way␈α∞the␈α
user     ␈↓ π∞␈↓5.␈α
FOO␈α
                 is␈αthe␈α
CAR␈α
of␈α
 2,␈α 3,␈α
and
␈↓ ↓N␈↓intended.                                   ␈↓ π∞␈↓ 4

␈↓ ↓N␈↓If␈αfor␈αsome␈αreason␈α"control"␈αcharacters␈αMUST      ␈↓ π∞␈↓6. (BAR (BAZ GARPLY))   is the CDR of  4
␈↓ ↓N␈↓be␈αsent,␈αit␈αshould␈αbe␈αnoted␈αthat␈αline␈αfeed␈αmust
␈↓ ↓N␈↓be␈α≡quoted␈α≡since␈α≡otherwise␈α≡it␈α∨would␈α≡be             ␈↓ π∞␈↓7. BAR                  is the CAR of  6
␈↓ ↓N␈↓interpreted␈α⊗as␈α↔newline.␈α⊗ Again,␈α↔servers␈α⊗are
␈↓ ↓N␈↓under␈α∃no␈α∀obligation␈α∃to␈α∃implement␈α∀"control"       ␈↓ π∞␈↓8. (BAZ GARPLY)         is the CDR of  6
␈↓ ↓N␈↓characters.
                                            ␈↓ π∞␈↓9. FOO/ BAR             is an atom!!
␈↓ ↓N␈↓There␈α⊗are␈α⊗no␈α⊗other␈α⊗special␈α⊗characters.␈α⊗ In
␈↓ ↓N␈↓particular,␈α
whitespace␈α
and␈α
newlines␈α
within␈α
an
␈↓ ↓N␈↓S-expression␈αare␈αtreated␈αas␈αsigni≡cant␈αin␈αmany    ␈↓ π∞␈↓α␈↓ λ≠11.  Goals and Non-goals
␈↓ ↓N␈↓places.␈α~ In␈α~non-textual␈α~situations,␈α~such␈α~as
␈↓ ↓N␈↓delimiting␈α↔between␈α↔atomic␈α↔values,␈α_a␈α↔single       ␈↓ π∞␈↓The following are goals:
␈↓ ↓N␈↓whitespace␈αor␈α
newline␈αis␈αrequired␈α
and␈αfurther
␈↓ ↓N␈↓whitespace/newlines␈α'are␈α'super∨uous␈α'and         ␈↓ π∞␈↓1.␈α≥ To␈α≥avoid␈α≤repeating␈α≥the␈α≥mistakes␈α≤of
␈↓ ↓N␈↓should␈α~be␈α~ignored.␈α~ However,␈α≠while␈α~mail          ␈↓ π∞␈↓ARPAnet mail.
␈↓ ↓N␈↓servers␈α$should␈α%be␈α$prepared␈α%to␈α$ignore
␈↓ ↓N␈↓super∨uous␈α
whitespace␈α
or␈α
newlines,␈α
it␈αis␈α
strictly ␈↓ π∞␈↓2.␈α→ To␈α→have␈α~a␈α→system␈α→that␈α→is␈α~simple␈α→to
␈↓ ↓N␈↓speaking␈α~a␈α~violation␈α~of␈α~protocol␈α~to␈α→send          ␈↓ π∞␈↓implement.
␈↓ ↓N␈↓super∨uous whitespace or newlines.
                                            ␈↓ π∞␈↓3.␈α∩ To␈α∩establish␈α⊃strict␈α∩mail␈α∩formats␈α∩with␈α⊃no
␈↓ ↓N␈↓Some␈α∂LISP␈α∂terms␈α∂need␈α∞to␈α∂be␈α∂de≡ned␈α∂for␈α∞the           ␈↓ π∞␈↓ambiguity␈α(of␈α(format,␈α(to␈α(prevent␈α'the
␈↓ ↓N␈↓non-LISP␈α~user␈α→to␈α~make␈α→the␈α~rest␈α~of␈α→this             ␈↓ π∞␈↓proliferation␈α∀of␈α∀mail␈α∀header␈α∃formats␈α∀which
␈↓ ↓N␈↓document␈α↔clearer.␈α↔ Within␈α↔an␈α⊗S-expression,      ␈↓ π∞␈↓has occured in the ARPAnet.
␈↓ ↓N␈↓there␈α
can␈α
be␈αatoms␈α
or␈α
other␈αS-expressions.␈α
 An
␈↓ ↓N␈↓atom␈α∂is␈α∂an␈α⊂indivisible␈α∂"word".␈α∂ The␈α⊂other␈α∂S-       ␈↓ π∞␈↓4.␈α To␈αallow␈αthe␈αmail␈αsender␈αcomplete␈αfreedom
␈↓ ↓N␈↓expressions␈α⊂are␈α⊂called␈α⊂"lists",␈α⊂as␈α⊂they␈α⊂are␈α⊂not    ␈↓ π∞␈↓in␈αwhat␈αis␈αincluded␈αin␈αthe␈α actual␈αbody␈αof␈αthe
␈↓ ↓N␈↓evaluated further.                          ␈↓ π∞␈↓mail message.

␈↓ ↓N␈↓The␈αCAR␈αof␈α
an␈αS-expression␈αor␈α
list␈αis␈αthe␈α
≡rst       ␈↓ π∞␈↓5.␈α⊂ To␈α⊂abolish␈α⊂mail␈α∂headers␈α⊂as␈α⊂they␈α⊂exist␈α∂in
␈↓ ↓N␈↓atom␈αin␈α
the␈αlist.␈α
 The␈αCDR␈α
is␈αwhat␈αremains␈α
of        ␈↓ π∞␈↓current mail systems entirely.
␈↓ ↓N␈↓the␈α∃S-expresssion␈α∃after␈α∀the␈α∃CAR␈α∃has␈α∀been
␈↓ ↓N␈↓removed.␈α_ These␈α_two␈α_terms␈α_are␈α_sometimes          ␈↓ π∞␈↓6.␈α≥ To␈α≡replace␈α≥the␈α≡information␈α≥formerly
␈↓ ↓N␈↓combined;␈αthe␈αsecond␈αelement␈αof␈αthe␈αlist␈αis␈αthe     ␈↓ π∞␈↓contained␈α∃in␈α∃the␈α∃mail␈α∃header␈α∃with␈α∃a␈α∀mail
␈↓ ↓N␈↓CAR␈α⊃of␈α⊃the␈α∩CDR␈α⊃or␈α⊃the␈α⊃CADR;␈α∩the␈α⊃third               ␈↓ π∞␈↓protocol negotiation.
␈↓ ↓N␈↓element␈α
is␈α
the␈α
CAR␈α
of␈α
the␈α
CDR␈α
of␈α
the␈α
CDR
␈↓ ↓N␈↓or CADDR, etc.                              ␈↓ π∞␈↓The␈αfollowing␈α
 are␈α currently␈α
non-goals.␈α  It␈α
 is
                                            ␈↓ π∞␈↓felt␈α⊗that␈α⊗ there␈α↔ is␈α⊗ no␈α⊗justi≡cation␈α↔at␈α⊗the
␈↓ ↓N␈↓EXAMPLES:                                   ␈↓ π∞␈↓present time to consider these matters.

␈↓ ↓N␈↓1. FOO                  is an atom          ␈↓ π∞␈↓1.  Compatability with ARPAnet mail.
␈↓ ↓N␈↓αMail protocol␈↓ ¬TGoals and Non-goals␈↓ R22


␈↓ ↓N␈↓2.␈α∞ Message␈α
security␈α∞or␈α
encryption.␈α∞ This␈α
may     ␈↓ π∞␈↓TEXT ¬ a data type (see SUBJECT-TEXT
␈↓ ↓N␈↓happen later.                               ␈↓ π∞␈↓␈↓ λ∞and MESSAGE-TEXT) which is
                                            ␈↓ π∞␈↓␈↓ λ∞completely quoted.  TEXT
␈↓ ↓N␈↓3.  Explicit forwarding.                    ␈↓ π∞␈↓␈↓ λ∞outwardly looks like a list in that
                                            ␈↓ π∞␈↓␈↓ λ∞there are parentheses at each end,
␈↓ ↓N␈↓4.␈α∂ Detection␈α∞and␈α∂deletion␈α∞of␈α∂duplicate␈α∞copies    ␈↓ π∞␈↓␈↓ λ∞and parentheses and slashes must be
␈↓ ↓N␈↓of a message or of mail loops.              ␈↓ π∞␈↓␈↓ λ∞quoted with slash; however,
                                            ␈↓ π∞␈↓␈↓ λ∞whitespace and new lines are
                                            ␈↓ π∞␈↓␈↓ λ∞signi≡cant and are not converted to
␈↓ ↓N␈↓α␈↓ β→12.  Mail Fields                            ␈↓ π∞␈↓␈↓ λ∞something else by the mail process.

␈↓ ↓N␈↓In␈α∞all␈α∞mail␈α∞≡elds,␈α
it␈α∞is␈α∞␈↓↓strongly␈α∞suggested␈↓␈α
that
␈↓ ↓N␈↓either␈α⊃upper␈α⊃or␈α⊃lower␈α⊃case␈α⊃be␈α⊃accepted,␈α⊂and        ␈↓ π∞␈↓α␈↓ λ413.  Mail Commands
␈↓ ↓N␈↓that␈αlower␈αcase␈αbe␈αconverted␈αto␈αupper␈αcase␈αfor
␈↓ ↓N␈↓machine-␈α⊂reading␈α⊃purposes.␈α⊂ In␈α⊃addition,␈α⊂the     ␈↓ π∞␈↓The␈α∂commands␈α⊂on␈α∂these␈α⊂pages␈α∂are␈α⊂the␈α∂more
␈↓ ↓N␈↓o≠cial␈α⊃case␈α⊃for␈α⊃protocol␈α⊃commands␈α⊃is␈α⊂upper        ␈↓ π∞␈↓important␈α_commands␈α_of␈α_the␈α→mail␈α_protocol
␈↓ ↓N␈↓case;␈αhowever,␈αa␈αserver␈αmust␈αnot␈αdepend␈αupon       ␈↓ π∞␈↓which all servers are expected to implement.
␈↓ ↓N␈↓only␈αreceiving␈α
upper␈αcase.␈α
 A␈αserver␈α
that␈αfails
␈↓ ↓N␈↓to␈α∂do␈α∞case-independent␈α∂matching␈α∞is␈α∂bound␈α∞to       ␈↓ π∞␈↓For␈αall␈αmail␈αcommands,␈αthe␈αreply␈α(FAILED)␈αis
␈↓ ↓N␈↓encounter␈α∂problems␈α⊂in␈α∂interfacing␈α⊂with␈α∂other     ␈↓ π∞␈↓used␈αto␈αindicate␈αa␈αcommand␈αthat␈αfailed␈αdue␈αto
␈↓ ↓N␈↓systems.                                    ␈↓ π∞␈↓some␈α∂internal␈α∂bug␈α∂on␈α∂the␈α∂part␈α∂of␈α⊂the␈α∂server,
                                            ␈↓ π∞␈↓for␈α⊂such␈α∂things␈α⊂as␈α∂string␈α⊂space␈α⊂exhausted␈α∂or
␈↓ ↓N␈↓The␈α∪≡elds␈α∪or␈α∪arguments␈α∪to␈α∪a␈α∪mail␈α∩protocol          ␈↓ π∞␈↓the␈α⊂like.␈α⊂ This␈α⊂code␈α⊂is␈α⊂NOT␈α⊂intended␈α⊃to␈α⊂be
␈↓ ↓N␈↓command are one of the following:           ␈↓ π∞␈↓used to indicate a user error.

␈↓ ↓N␈↓ADDRESS ¬ an atom or list which speci≡es a  ␈↓ π∞␈↓I.  (TO address)
␈↓ ↓N␈↓␈↓ αNvalid machine-readable mail address
␈↓ ↓N␈↓␈↓ αNon the host in question.                    ␈↓ π∞␈↓This␈α⊂is␈α⊂the␈α⊂most␈α⊂important␈α⊂command␈α⊂in␈α∂the
                                            ␈↓ π∞␈↓mail␈α⊂protocol,␈α∂and␈α⊂the␈α∂only␈α⊂required␈α⊂one.␈α∂ It
␈↓ ↓N␈↓HOST-IDENTIFICATION ¬ either phone-         ␈↓ π∞␈↓speci≡es␈α⊃to␈α⊂whom␈α⊃the␈α⊃message␈α⊂is␈α⊃to␈α⊃be␈α⊂sent.
␈↓ ↓N␈↓␈↓ αNnumber or a list whose CAR is               ␈↓ π∞␈↓The␈α∂address␈α∂must␈α∂be␈α∂a␈α∂legal␈α∂address␈α∂for␈α∞the
␈↓ ↓N␈↓␈↓ αNphone-number and whose CADR is              ␈↓ π∞␈↓server␈α
site;␈α
ie,␈α
it␈α
must␈α
be␈α∞machine-readable␈α
as
␈↓ ↓N␈↓␈↓ αNhost-name.                                  ␈↓ π∞␈↓opposed to a "human" address.

␈↓ ↓N␈↓HOST-NAME ¬ an atom which speci≡es the      ␈↓ π∞␈↓     Examples:
␈↓ ↓N␈↓␈↓ αNo≠cial host name as kept on record
␈↓ ↓N␈↓␈↓ αNby the Dialnet implementors.                ␈↓ π∞␈↓(TO MRC) (TO Network/ Wizard)

␈↓ ↓N␈↓MESSAGE-TEXT ¬ a text string consisting     ␈↓ π∞␈↓     Replies:
␈↓ ↓N␈↓␈↓ αNof the actual text of the message.
                                            ␈↓ π∞␈↓(OK) The address has been accepted.  More
␈↓ ↓N␈↓PHONE-NUMBER ¬ a dialup phone               ␈↓ π∞␈↓␈↓ πndestinations may be speci≡ed for
␈↓ ↓N␈↓␈↓ αNnumber in the form of a string of           ␈↓ π∞␈↓␈↓ πnthis message.
␈↓ ↓N␈↓␈↓ αNdigits.
                                            ␈↓ π∞␈↓(OK-NO-MORE) The address  has  been
␈↓ ↓N␈↓SUBJECT-TEXT ¬ an optional text string      ␈↓ π∞␈↓␈↓ πnaccepted,  but no  more  destinations
␈↓ ↓N␈↓␈↓ αNused as a one-line "topic" of the           ␈↓ π∞␈↓␈↓ πnmay  be speci≡ed for this message.
␈↓ ↓N␈↓␈↓ αNmessage.
                                            ␈↓ π∞␈↓(UNKNOWN) The address has been rejected;
␈↓ ↓N␈↓αMail protocol␈↓ ¬oMail Commands␈↓ R23


␈↓ ↓N␈↓␈↓ α.there  is no known destination at  this     ␈↓ π∞␈↓(OK) The command was accepted.  This is
␈↓ ↓N␈↓␈↓ α.site with that address.                     ␈↓ π∞␈↓␈↓ πnthe only legal response.

␈↓ ↓N␈↓(ILLEGAL)  The address is in illegal format ␈↓ π∞␈↓IV. (MESSAGE message-text)
␈↓ ↓N␈↓␈↓ α.for this site.
                                            ␈↓ π∞␈↓This␈α∂command␈α∂speci≡es␈α∂the␈α∂text␈α∂body␈α∂of␈α∂the
␈↓ ↓N␈↓II. (FROM address host-identi≡cation)       ␈↓ π∞␈↓message.

␈↓ ↓N␈↓This␈α↔command␈α↔speci≡es␈α↔the␈α↔origin␈α_of␈α↔the           ␈↓ π∞␈↓     Example:
␈↓ ↓N␈↓message.␈α The␈αaddress␈αmust␈αbe␈αa␈αlegal␈αaddress
␈↓ ↓N␈↓for␈α⊂the␈α⊂user␈α∂site's␈α⊂mail␈α⊂server;␈α∂ie,␈α⊂it␈α⊂must␈α∂be      ␈↓ π∞␈↓(MESSAGE␈α⊃(It␈α⊃has␈α⊃been␈α⊃suggested␈α∩that␈α⊃the
␈↓ ↓N␈↓machine-readable.␈α$ The␈α#address␈α$in␈α#this          ␈↓ π∞␈↓MAIL␈α↔protocol␈α↔be␈α↔enhanced␈α↔to␈α↔make␈α⊗the
␈↓ ↓N␈↓command␈αis␈αthe␈αdefault␈αfor␈αthe␈αSENDER␈αand          ␈↓ π∞␈↓phase␈α∞of␈α∂the␈α∞moon␈α∂be␈α∞a␈α∂required␈α∞item␈α∂in␈α∞all
␈↓ ↓N␈↓REPLY-TO␈α∃addresses.␈α∀ It␈α∃should␈α∃be␈α∀noted          ␈↓ π∞␈↓messages.␈α∃ It␈α∃is␈α∃felt␈α∃that␈α∃this␈α∃item␈α⊗is␈α∃very
␈↓ ↓N␈↓that␈α∩many␈α⊃sites␈α∩may␈α⊃not␈α∩wish␈α∩to␈α⊃implement          ␈↓ π∞␈↓important␈α⊃and␈α⊃all␈α⊂user␈α⊃and␈α⊃server␈α⊂programs
␈↓ ↓N␈↓SENDER␈α
and␈αREPLY-TO.␈α
 This␈α
means␈αthat            ␈↓ π∞␈↓will␈α∩be␈α∪expected␈α∩to␈α∪implement␈α∩this␈α∪by␈α∩next
␈↓ ↓N␈↓FROM␈αis␈αrequired␈αif␈αany␈αorigin␈αis␈αspeci≡ed␈αat       ␈↓ π∞␈↓Tuesday.  ))
␈↓ ↓N␈↓all,␈α∩and␈α∪that␈α∩it␈α∪should␈α∩specify␈α∪a␈α∩reasonable
␈↓ ↓N␈↓origin and reply address.                   ␈↓ π∞␈↓     Replies:

␈↓ ↓N␈↓     Examples:                              ␈↓ π∞␈↓(OK)  The command was accepted.  This is
                                            ␈↓ π∞␈↓␈↓ πnthe only legal response.
␈↓ ↓N␈↓(FROM MRC 415-497-1234)

␈↓ ↓N␈↓(FROM␈α∩DIALNET-HACKER␈α⊃(415-497-4321
␈↓ ↓N␈↓SU-AI))

␈↓ ↓N␈↓     Replies:

␈↓ ↓N␈↓(OK) The command was accepted.  This is
␈↓ ↓N␈↓␈↓ α.the only legal response.

␈↓ ↓N␈↓III. (SUBJECT subject-text)

␈↓ ↓N␈↓This␈α
command␈α
speci≡es␈α
a␈α
subject␈α
text␈α
for␈α
the
␈↓ ↓N␈↓message.␈α⊂ It␈α⊂is␈α⊂used␈α∂to␈α⊂provide␈α⊂a␈α⊂short␈α∂topic
␈↓ ↓N␈↓for␈α∀the␈α∃message␈α∀for␈α∃the␈α∀reference␈α∃or␈α∀≡ling
␈↓ ↓N␈↓purposes of the eventual message reader.

␈↓ ↓N␈↓     Examples:

␈↓ ↓N␈↓(SUBJECT (Suggested addition to the MAIL
␈↓ ↓N␈↓␈↓ α.protocol))

␈↓ ↓N␈↓(SUBJECT (In reply to your message about
␈↓ ↓N␈↓␈↓ α.the MAIL protocol))

␈↓ ↓N␈↓     Replies:
␈↓ ↓N␈↓α␈↓ ε↑␈↓ O24


␈↓ ↓N␈↓α␈↓ β,Appendix E                                  ␈↓ π∞␈↓Present scienti≡c work is in the ≡elds of
␈↓ ↓N␈↓α␈↓ β=Personnel                                   ␈↓ π∞␈↓␈↓ πNArti≡cial Intelligence, Computation with
                                            ␈↓ π∞␈↓␈↓ πNSymbolic Expressions, Mathematical
␈↓ ↓N␈↓Biography of John McCarthy                  ␈↓ π∞␈↓␈↓ πNTheory of Computation, Time-Sharing
                                            ␈↓ π∞␈↓␈↓ πNcomputer systems.
␈↓ ↓N␈↓BORN:  September 4, 1927 in Boston,
␈↓ ↓N␈↓␈↓ α∞Massachusetts                               ␈↓ π∞␈↓PUBLICATIONS:

␈↓ ↓N␈↓EDUCATION: B.S.  (Mathematics)              ␈↓ π∞␈↓[1]  "Towards a Mathematical Theory of
␈↓ ↓N␈↓␈↓ α∞California Institute of Technology, 1948.   ␈↓ π∞␈↓␈↓ πNComputation", in ␈↓↓Proc. IFIP Congress
␈↓ ↓N␈↓␈↓ α∞Ph.D. (Mathematics) Princeton               ␈↓ π∞␈↓↓␈↓ πN62␈↓, North-Holland, Amsterdam, 1963.
␈↓ ↓N␈↓␈↓ α∞University, 1951.
                                            ␈↓ π∞␈↓[2]  "A Basis for a Mathematical Theory of
␈↓ ↓N␈↓HONORS AND SOCIETIES: American              ␈↓ π∞␈↓␈↓ πNComputation", in P. Bia≥ort and D.
␈↓ ↓N␈↓␈↓ α∞Mathematical Society, Association for       ␈↓ π∞␈↓␈↓ πNHershberg (eds.), ␈↓↓Computer Programming
␈↓ ↓N␈↓␈↓ α∞Computing Machinery, Sigma Xi, Sloan        ␈↓ π∞␈↓↓␈↓ πNand Formal Systems␈↓, North-Holland,
␈↓ ↓N␈↓␈↓ α∞Fellow in Physical Science (1957-59),       ␈↓ π∞␈↓␈↓ πNAmsterdam, 1963.
␈↓ ↓N␈↓␈↓ α∞ACM National Lecturer (1961), IEEE,
␈↓ ↓N␈↓␈↓ α∞A.M. Turing Award from Association for      ␈↓ π∞␈↓[3]  (with S. Boilen, E. Fredkin, J.C.R.
␈↓ ↓N␈↓␈↓ α∞Computing Machinery (1971).                 ␈↓ π∞␈↓␈↓ πNLicklider) "A Time-Sharing Debugging
                                            ␈↓ π∞␈↓␈↓ πNSystem for a Small Computer", ␈↓↓Proc.
␈↓ ↓N␈↓PROFESSIONAL EXPERIENCE: Proctor            ␈↓ π∞␈↓↓␈↓ πNAFIPS Conf.␈↓ (SJCC), Vol. 23, 1963.
␈↓ ↓N␈↓␈↓ α∞Fellow, Princeton University (1950-51),
␈↓ ↓N␈↓␈↓ α∞Higgins Research Instructor in              ␈↓ π∞␈↓[4]  (with F. Corbato, M. Daggett) "The
␈↓ ↓N␈↓␈↓ α∞Mathematics, Princeton University (1951-    ␈↓ π∞␈↓␈↓ πNLinking Segment Subprogram Language
␈↓ ↓N␈↓␈↓ α∞53), Acting Assistant Professor of          ␈↓ π∞␈↓␈↓ πNand Linking Loader Programming
␈↓ ↓N␈↓␈↓ α∞Mathematics, Stanford University (1953-     ␈↓ π∞␈↓␈↓ πNLanguages", ␈↓↓Comm. ACM␈↓, July 1963.
␈↓ ↓N␈↓␈↓ α∞55), Assistant Professor of Mathematics,
␈↓ ↓N␈↓␈↓ α∞Dartmouth College (1955-58), Assistant      ␈↓ π∞␈↓[5]  "Problems in the Theory of
␈↓ ↓N␈↓␈↓ α∞Professor of Communication Science,         ␈↓ π∞␈↓␈↓ πNComputation", ␈↓↓Proc. IFIP Congress 1965␈↓.
␈↓ ↓N␈↓␈↓ α∞M.I.T. (1958-61), Associate Professor of
␈↓ ↓N␈↓␈↓ α∞Communication Science, M.I.T. (1961-62),    ␈↓ π∞␈↓[6]  "Time-Sharing Computer Systems", in W.
␈↓ ↓N␈↓␈↓ α∞Professor of Computer Science Stanford      ␈↓ π∞␈↓␈↓ πNOrr (ed.), ␈↓↓Conversational Computers␈↓,
␈↓ ↓N␈↓␈↓ α∞University (1962 - present).                ␈↓ π∞␈↓␈↓ πNWiley, 1966.

␈↓ ↓N␈↓PROFESSIONAL RESPONSIBILITIES               ␈↓ π∞␈↓[7]  "A Formal Description of a Subset of
␈↓ ↓N␈↓␈↓ α∞AND SCIENTIFIC INTERESTS: With              ␈↓ π∞␈↓␈↓ πNAlgol", in T.  Steele (ed.), ␈↓↓Formal
␈↓ ↓N␈↓␈↓ α∞Marvin Minsky organized and directed        ␈↓ π∞␈↓↓␈↓ πNLanguage Description Languages for
␈↓ ↓N␈↓␈↓ α∞the Arti≡cial Intelligence Project at       ␈↓ π∞␈↓↓␈↓ πNComputer Programming␈↓, North-Holland,
␈↓ ↓N␈↓␈↓ α∞M.I.T.                                      ␈↓ π∞␈↓␈↓ πNAmsterdam, 1966.

␈↓ ↓N␈↓Organized and directs Stanford Arti≡cial    ␈↓ π∞␈↓[8]  "Information", ␈↓↓Scienti≡c American␈↓,
␈↓ ↓N␈↓␈↓ α∞Intelligence Project                        ␈↓ π∞␈↓␈↓ πNSeptember 1966.

␈↓ ↓N␈↓Developed the LISP programming system for   ␈↓ π∞␈↓[9]  "Computer Control of a Hand and Eye",
␈↓ ↓N␈↓␈↓ α∞computing with symbolic expressions,        ␈↓ π∞␈↓␈↓ πNin ␈↓↓Proc.  Third All-Union Conference on
␈↓ ↓N␈↓␈↓ α∞participated in the development of the      ␈↓ π∞␈↓↓␈↓ πNAutomatic Control (Technical Cybernetics)␈↓,
␈↓ ↓N␈↓␈↓ α∞ALGOL 58 and the ALGOL 60                   ␈↓ π∞␈↓␈↓ πNNauka, Moscow, 1967 (Russian).
␈↓ ↓N␈↓␈↓ α∞languages.
␈↓ ↓N␈↓αPersonnel␈↓ ε↑␈↓ Q25


␈↓ ↓N␈↓[10]  (with D. Brian, G. Feldman, and J.    ␈↓ π∞␈↓[20]  McCarthy, John, "An Unreasonable
␈↓ ↓N␈↓␈↓ α∞Allen) "THOR ¬ A Display Based Time-        ␈↓ π∞␈↓␈↓ πNBook", a review of ␈↓↓Computer Power and
␈↓ ↓N␈↓␈↓ α∞Sharing System", ␈↓↓Proc. AFIPS Conf.␈↓          ␈↓ π∞␈↓↓␈↓ πNHuman Reason␈↓ by Joseph Weizenbaum
␈↓ ↓N␈↓␈↓ α∞(FJCC), Vol.  30, Thompson,                 ␈↓ π∞␈↓␈↓ πN(W.H. Freeman and Co., San Francisco,
␈↓ ↓N␈↓␈↓ α∞Washington, D.C., 1967.                     ␈↓ π∞␈↓␈↓ πN1976), ␈↓↓SIGART Newsletter␈↓  58, June
                                            ␈↓ π∞␈↓␈↓ πN1976.
␈↓ ↓N␈↓[11]  (with James Painter) "Correctness of a
␈↓ ↓N␈↓␈↓ α∞Compiler for Arithmetic Expressions",       ␈↓ π∞␈↓[21]  McCarthy, John, Review: ␈↓↓Computer
␈↓ ↓N␈↓␈↓ α∞Amer. Math. Soc., ␈↓↓Proc. Symposia in         ␈↓ π∞␈↓↓␈↓ πNPower and Human Reason␈↓, by Joseph
␈↓ ↓N␈↓↓␈↓ α∞Applied Math., Math. Aspects of             ␈↓ π∞␈↓␈↓ πNWeizenbaum (W.H.  Freeman and Co.,
␈↓ ↓N␈↓↓␈↓ α∞Computer Science␈↓, New York, 1967.           ␈↓ π∞␈↓␈↓ πNSan Francisco, 1976) in ␈↓↓Physics Today␈↓,
                                            ␈↓ π∞␈↓␈↓ πN1977.
␈↓ ↓N␈↓[12]  "Programs with Common Sense", in
␈↓ ↓N␈↓␈↓ α∞Marvin Minsky (ed.), ␈↓↓Semantic               ␈↓ π∞␈↓[22]  McCarthy, John, "Another
␈↓ ↓N␈↓↓␈↓ α∞Information Processing␈↓, MIT Press,          ␈↓ π∞␈↓␈↓ πNSAMEFRINGE", ␈↓↓SIGART Newsletter␈↓
␈↓ ↓N␈↓␈↓ α∞Cambridge, 1968.                            ␈↓ π∞␈↓␈↓ πNNo. 61, February 1977.

␈↓ ↓N␈↓[13]  (with Lester Earnest, D. Raj. Reddy,  ␈↓ π∞␈↓[23]  McCarthy, John, "The Home
␈↓ ↓N␈↓␈↓ α∞Pierre Vicens) "A Computer with Hands,      ␈↓ π∞␈↓␈↓ πNInformation Terminal", ␈↓↓The Grolier
␈↓ ↓N␈↓␈↓ α∞Eyes, and Ears", ␈↓↓Proc. AFIPS Conf.␈↓          ␈↓ π∞␈↓↓␈↓ πNEncyclopedia␈↓, 1977.
␈↓ ↓N␈↓␈↓ α∞(FJCC), 1968.
                                            ␈↓ π∞␈↓[24]  McCarthy, John, M. Sato, T. Hayashi, S.
␈↓ ↓N␈↓[14]  (with Patrick Hayes) "Some            ␈↓ π∞␈↓␈↓ πNIgarashi, "On the Model Theory of
␈↓ ↓N␈↓␈↓ α∞Philosophical Problems from the             ␈↓ π∞␈↓␈↓ πNKnowledge", ␈↓↓Proc. Int. Joint Conf. on A.I.␈↓,
␈↓ ↓N␈↓␈↓ α∞Standpoint of Arti≡cial Intelligence", in   ␈↓ π∞␈↓␈↓ πNAugust 1977.
␈↓ ↓N␈↓␈↓ α∞Donald Michie (ed.), ␈↓↓Machine Intelligence
␈↓ ↓N␈↓↓␈↓ α∞4␈↓, American Elsevier, New York, 1969.       ␈↓ π∞␈↓[25]  McCarthy, John, "Epistemological
                                            ␈↓ π∞␈↓␈↓ πNProblems of Arti≡cial Intelligence", ␈↓↓Proc.
␈↓ ↓N␈↓[15]  "The Home Information Terminal", ␈↓↓Man  ␈↓ π∞␈↓↓␈↓ πNInt. Joint Conf. on A.I.␈↓, August 1977.
␈↓ ↓N␈↓↓␈↓ α∞and Computer, Proc. Int. Conf., Bordeaux,
␈↓ ↓N␈↓↓␈↓ α∞1970␈↓, S. Karger, New York, 1972.            ␈↓ π∞␈↓[26]  McCarthy, John, "History of LISP", ␈↓↓Proc.
                                            ␈↓ π∞␈↓↓␈↓ πNACM Conf. on History of Programming
␈↓ ↓N␈↓[16]  McCarthy, John, "Mechanical Servants  ␈↓ π∞␈↓↓␈↓ πNLanguages,␈↓ 1978.
␈↓ ↓N␈↓␈↓ α∞for Mankind", ␈↓↓Britannica Yearbook of
␈↓ ↓N␈↓↓␈↓ α∞Science and the Future␈↓, 1973.               ␈↓ π∞␈↓[27]  McCarthy, John, "Representation of
                                            ␈↓ π∞␈↓␈↓ πNRecursive Programs in First Order
␈↓ ↓N␈↓[17]  McCarthy, John, Book Review:          ␈↓ π∞␈↓␈↓ πNLogic", ␈↓↓Proc. Int. Conf. on Mathematical
␈↓ ↓N␈↓␈↓ α∞"Arti≡cial Intelligence: A General Survey"  ␈↓ π∞␈↓↓␈↓ πNStudies of Information Processing,␈↓  Kyoto
␈↓ ↓N␈↓␈↓ α∞by Sir James Lighthill, ␈↓↓Arti≡cial           ␈↓ π∞␈↓␈↓ πNJapan, 1978.
␈↓ ↓N␈↓↓␈↓ α∞Intelligence␈↓, Vol. 5, No. 3, Fall 1974.
                                            ␈↓ π∞␈↓[28]  McCarthy, John, "Ascribing Mental
␈↓ ↓N␈↓[18]  McCarthy, John, "Modeling Our Minds"  ␈↓ π∞␈↓␈↓ πNQualities to Machines", ␈↓↓Philosophical
␈↓ ↓N␈↓␈↓ α∞␈↓↓Science Year 1975␈↓, The World Book           ␈↓ π∞␈↓↓␈↓ πNPerspectives in Arti≡cial Intelligence,␈↓
␈↓ ↓N␈↓␈↓ α∞Science Annual, Field Enterprises           ␈↓ π∞␈↓␈↓ πNMartin Ringle (ed.), Humanities Press, to
␈↓ ↓N␈↓␈↓ α∞Educational Corporation, Chicago, 1974.     ␈↓ π∞␈↓␈↓ πNappear 1978.

␈↓ ↓N␈↓[19]  McCarthy, John, "Proposed Criterion for
␈↓ ↓N␈↓␈↓ α∞a Cipher to be Probable-word-proof",
␈↓ ↓N␈↓␈↓ α∞␈↓↓Comm. ACM␈↓, February 1975.
␈↓ ↓N␈↓α␈↓ ε↑␈↓ R26


␈↓ ↓N␈↓α␈↓ β-Appendix F                                  ␈↓ π∞␈↓The␈α⊂computer␈α⊂facilities␈α∂of␈α⊂the␈α⊂Stanford␈α∂Low
␈↓ ↓N␈↓α␈↓ βAFacilities                                  ␈↓ π∞␈↓Overhead␈α∂Timesharing␈α∞System␈α∂consist␈α∂of␈α∞the
                                            ␈↓ π∞␈↓following.
␈↓ ↓N␈↓The␈α⊗computer␈α⊗ facilities␈α⊗ of␈α⊗ the␈α⊗ Stanford
␈↓ ↓N␈↓Arti≡cial␈α⊂ Intelligence␈α⊂Laboratory␈α⊂include␈α∂the  ␈↓ π∞␈↓Central processor:  Digital Equipment
␈↓ ↓N␈↓following␈α⊗equipment,␈α↔most␈α⊗of␈α↔it␈α⊗purchased        ␈↓ π∞␈↓␈↓ λ.Corporation DECsystem 2050 (36
␈↓ ↓N␈↓with U.S. Government research funds.        ␈↓ π∞␈↓␈↓ λ.bit machine).

␈↓ ↓N␈↓Central processors: Digital Equipment       ␈↓ π∞␈↓Primary store:  512k words (36 bit) of 1
␈↓ ↓N␈↓␈↓ αnCorporation KL10 and KA10.                  ␈↓ π∞␈↓␈↓ λ.microsecond DEC core.

␈↓ ↓N␈↓Primary store:     1,048k words (36 bit) of 1 to␈↓ π∞␈↓File store:  3 DEC RP06 disc drives (capacity:
␈↓ ↓N␈↓␈↓ αn1.6 microsecond core (DEC and               ␈↓ π∞␈↓␈↓ λ.4.8 x 10␈↓∧9␈↓ bits).
␈↓ ↓N␈↓␈↓ αnAmpex)
                                            ␈↓ π∞␈↓Peripherals: DEC 9-track tape drive, 3
␈↓ ↓N␈↓File store:          Ampex disc ≡le (3330-11␈↓ π∞␈↓␈↓ λ.Printronix line printers.
␈↓ ↓N␈↓␈↓ αntype), 7 spindles (capacity: 9.1 x
␈↓ ↓N␈↓␈↓ αn10␈↓∧9␈↓ bits).                                  ␈↓ π∞␈↓Terminals: 60+ Lear-Siegler ADM-3 and
                                            ␈↓ π∞␈↓␈↓ λ.Hazeltine 1500 terminals.
␈↓ ↓N␈↓Peripherals:         4 Dectape drives, 2 mag
␈↓ ↓N␈↓␈↓ αntape drives (7 channel), line
␈↓ ↓N␈↓␈↓ αnprinter, Calcomp plotter, Xerox
␈↓ ↓N␈↓␈↓ αnGraphics Printer

␈↓ ↓N␈↓Terminals:           58 Data Disc displays, 6 III
␈↓ ↓N␈↓␈↓ αndisplays, 4 IMLAC displays, 25
␈↓ ↓N␈↓␈↓ αnDatamedia displays, 5 TI
␈↓ ↓N␈↓␈↓ αnterminals

␈↓ ↓N␈↓Realtime processors: DEC PDP-11/45 and
␈↓ ↓N␈↓␈↓ αnSPS-41 with 8k words (16 bit) of
␈↓ ↓N␈↓␈↓ αncore and 197k words of Intel
␈↓ ↓N␈↓␈↓ αnMOS memory.

␈↓ ↓N␈↓Communications processor: BBN TIP
␈↓ ↓N␈↓␈↓ αn(Honeywell DDP-316) connected
␈↓ ↓N␈↓␈↓ αnto the ARPA Network.

␈↓ ↓N␈↓Special  equipment:  Audio input and output
␈↓ ↓N␈↓␈↓ αnsystems, hand-eye equipment (3
␈↓ ↓N␈↓␈↓ αnTV cameras, 2 arms), remote-
␈↓ ↓N␈↓␈↓ αncontrolled cart.
␈↓ ↓N␈↓α␈↓ ε↑␈↓ P27


␈↓ ↓N␈↓α␈↓ β+Appendix G 
␈↓ ↓N␈↓α␈↓ β∂Current Support 

␈↓ ↓N␈↓Prof.␈α⊂McCarthy␈α⊂is␈α⊂currently␈α⊂being␈α⊂supported
␈↓ ↓N␈↓by␈α∩the␈α∩Advanced␈α∩Research␈α∪Projects␈α∩Agency
␈↓ ↓N␈↓under␈α.Contract␈α.MDA903-76-C-0206␈α-(1
␈↓ ↓N␈↓January␈α∞1976␈α∞-␈α∞30␈α∞Sept.␈α∞ 1978,␈α
$918,000/year)
␈↓ ↓N␈↓and␈α⊂by␈α⊂the␈α⊂National␈α⊂Science␈α⊂Foundation␈α⊂for
␈↓ ↓N␈↓Basic␈α
Research␈αin␈α
Arti≡cial␈α
Intelligence␈αunder
␈↓ ↓N␈↓Grant␈αMCS␈α
78-00524,␈αJuly␈α
1978␈αthrough␈α
June
␈↓ ↓N␈↓1979␈α∨at␈α∨$105,197.␈α∨ Prof.␈α∨McCarthy␈α≡also
␈↓ ↓N␈↓oversees␈α
but␈α
receives␈α
no␈α
personal␈α
support␈α
from
␈↓ ↓N␈↓the following NSF grants and contracts.

␈↓ ↓N␈↓1. Veri≡cation Oriented Programming under
␈↓ ↓N␈↓␈↓ ↓}Grant Number MCS76-00327, June 1976 -
␈↓ ↓N␈↓␈↓ ↓}June 1980, $93,000/year.

␈↓ ↓N␈↓2. Exploratory Study of Computer Integrated
␈↓ ↓N␈↓␈↓ ↓}Assembly Systems, Contract DAR78-15914,
␈↓ ↓N␈↓␈↓ ↓}August 1978 - July 1980, $300,000/year.

␈↓ ↓N␈↓3. "A Uni≡ed Approach to Automatic
␈↓ ↓N␈↓␈↓ ↓}Programming", Grant MCS-76-83655, July
␈↓ ↓N␈↓␈↓ ↓}1977 - June 1979, $53,350/year.

␈↓ ↓N␈↓4. "Veri≡cation of Operating Systems written
␈↓ ↓N␈↓␈↓ ↓}in Concurrent Pascal", Grant MCS 77-
␈↓ ↓N␈↓␈↓ ↓}01194, August 1977 - July 1979,
␈↓ ↓N␈↓␈↓ ↓}$37,000/year.
␈↓ ↓N␈↓α␈↓ ε↑␈↓ R29


␈↓ ↓N␈↓α␈↓ ε
Appendix H 
␈↓ ↓N␈↓α␈↓ ε/Budget 

␈↓ ↓N␈↓Two years beginning 1 January 1979.

␈↓ ↓N␈↓β␈↓ α≡                                 Man    1 Jan.'79 to       1 Jan.'80 to
␈↓ ↓N␈↓β␈↓ α≡                                Months  31 Dec.'79         31 Dec.'80
␈↓ ↓N␈↓β␈↓ α≡A. SALARIES AND WAGES

␈↓ ↓N␈↓β␈↓ α≡   1.Senior Personnel
␈↓ ↓N␈↓β␈↓ α≡      Professor John McCarthy      1      - - -               - - -
␈↓ ↓N␈↓β␈↓ α≡      Principal Investigator (5%)

␈↓ ↓N␈↓β␈↓ α≡      Lester Earnest (10%)        2     $4,058              $4,383
␈↓ ↓N␈↓β␈↓ α≡      Res. Scientist & Lecturer

␈↓ ↓N␈↓β␈↓ α≡   2..Other Personnel

␈↓ ↓N␈↓β␈↓ α≡      a.Programmer
␈↓ ↓N␈↓β␈↓ α≡        Mark Crispin (100%)              14,416              15,572

␈↓ ↓N␈↓β␈↓ α≡      b.Student Research Assistants
␈↓ ↓N␈↓β␈↓ α≡        Acad. yr. 50%, Sum. 100%          7,710               8,322

␈↓ ↓N␈↓β␈↓ α≡      c.Support Personnel

␈↓ ↓N␈↓β␈↓ α≡        Secretary (10%)                   1,253               1,353

␈↓ ↓N␈↓β␈↓ α≡        Electronic Technician (15%)       2,404               2,596
␈↓ ↓N␈↓β␈↓ α≡                                         ______              ______

␈↓ ↓N␈↓β␈↓ α≡      Total Salaries and Wages           29,841              32,226


␈↓ ↓N␈↓β␈↓ α≡B. STAFF BENEFITS                         6,155               7,025
␈↓ ↓N␈↓β␈↓ α≡   20.3% till 8/31/79,
␈↓ ↓N␈↓β␈↓ α≡   21.6% till 8/31/80,
␈↓ ↓N␈↓β␈↓ α≡   22.4% thereafter                      ______              ______

␈↓ ↓N␈↓β␈↓ α≡C. TOTAL SALARIES, WAGES,                35,996              39,251
␈↓ ↓N␈↓β␈↓ α≡   AND STAFF BENEFITS

␈↓ ↓N␈↓β␈↓ α≡D. PERMANENT EQUIPMENT
␈↓ ↓N␈↓β␈↓ α≡   4 microprocessor-controlled modems     8,000

␈↓ ↓N␈↓β␈↓ α≡E. EXPENDABLE SUPPLIES                    1,000               1,000
␈↓ ↓N␈↓β␈↓ α≡   & EQUIPMENT(e.g., copying,
␈↓ ↓N␈↓β␈↓ α≡   office supplies,postage,
␈↓ ↓N␈↓β␈↓ α≡   freight,consulting,honoraria)

␈↓ ↓N␈↓β␈↓ α≡F. TRAVEL                                 1,200               1,200

␈↓ ↓N␈↓β␈↓ α≡G. PUBLICATION COSTS                        500                 500
␈↓ ↓N␈↓αBudget␈↓ ε↑␈↓ P30


␈↓ ↓N␈↓β␈↓ α≡H. COMPUTER COSTS                         - - -               - - -

␈↓ ↓N␈↓β␈↓ α≡I. OTHER COSTS
␈↓ ↓N␈↓β␈↓ α≡   Telephone                                200                 200
␈↓ ↓N␈↓β␈↓ α≡                                         ______              ______

␈↓ ↓N␈↓β␈↓ α≡J. TOTAL DIRECT COSTS (A through I)      46,896              42,151

␈↓ ↓N␈↓β␈↓ α≡K. INDIRECT COSTS                        22,560              24,448
␈↓ ↓N␈↓β␈↓ α≡   58% of (J less D)                     ------              ------

␈↓ ↓N␈↓β␈↓ α≡L. TOTAL COSTS (J plus K)               $69,456             $66,599
␈↓ ↓N␈↓β␈↓ α≡                                        -------             -------

␈↓ ↓N␈↓β␈↓ α≡Total Budget (two years)                                   $136,055





␈↓ ↓N␈↓¬The source file of this document is DIAL78.PUB[DIA,JMC]@SU-AI.